🐬 MySQL/MySQL 실습문제

[SQL] 200개의 테이터 및 30문제

itstory(Booho) 2024. 11. 28. 12:46
728x90

지금까지 많은 것을 배웠습니다. 

실습 문제 도전하며, 복습하도록 하겠습니다.

sql_insert_users.sql
0.01MB

데이터베이스 생성 및 데이터 삽입

 

 

데이터 베이스 생성 및 데이터 삽입

 

테이블 이름: users
테이블스키마(테이블구조)

  • id (정수형, 프라이머리키, not null, 자동)
  • name (문자열,50)
  • email (문자열,50)
  • age (정수형)
  • country (문자열,50)


기본 SELECT

  • 모든 데이터를 조회하시오.
  • name과 email 컬럼만 조회하시오.
  • 30세 이상의 사용자만 조회하시오.
  • 국가가 'USA'인 사용자만 조회하시오.
  • 이름에 'a'가 포함된 사용자를 조회하시오.

 

조건문 및 정렬

  • 나이가 25세 이상이고 35세 이하인 사용자만 조회하시오.
  • 이메일이 '@example.com'으로 끝나는 사용자를 조회하시오.
  • 이름을 기준으로 오름차순 정렬하시오.
  • 나이를 기준으로 내림차순 정렬하시오.
  • 나이가 동일한 경우, 이름으로 정렬하시오.

 

집계 및 함수 활용

  • 전체 사용자 수를 계산하시오.
  • 평균 나이를 계산하시오.
  • 가장 어린 사용자의 나이를 조회하시오.
  • 가장 나이 많은 사용자의 나이를 조회하시오.
  • 각 국가별 사용자 수를 계산하시오.

 

LIKE와 패턴 매칭

  • 이름이 'A'로 시작하는 사용자를 조회하시오.
  • 이메일 도메인이 'gmail.com'인 사용자를 조회하시오.
  • 이름이 5글자인 사용자를 조회하시오.
  • 국가 이름에 'an'이 포함된 사용자 조회하시오.
  • 이름이 'Z'로 끝나는 사용자를 조회하시오.

 

데이터 수정

  • 모든 사용자의 나이를 1살씩 증가시키시오.
  • 국가가 'USA'인 사용자의 이메일 도메인을 'us.com'으로 변경하시오.
  • 18세 미만 사용자의 국가를 'Minor'로 변경하시오.
  • 이름이 'Alice'인 사용자의 나이를 27로 수정하시오.
  • 국가가 'Canada'인 모든 사용자 데이터를 삭제하시오.

 

고급 쿼리

  • 나이대별 사용자 수를 조회하시오 (10대, 20대, 30대 등).
  • 특정 국가(예: 'UK')에 속한 사용자만 복사하여 새 테이블 uk_users를 생성하시오.
  • 이름이 동일한 사용자(중복 이름)를 조회하시오.
  • 나이가 25세 이상인 사용자만 새 테이블 adults에 저장하시오.
  • 국가별 평균 나이를 계산하시오.
728x90