[SQL 기본 문법 #1] SELECT, GROUP

김지현·2023년 9월 25일
1

데이터베이스

여러 사람이 공유하여 사용할 목적으로 체계화되어 통합, 관리하는 데이터 집합
CRUD 기능 지원

  • C(Create) : 데이터 생성
  • R(Read) : 저장된 데이터 읽기
  • U(Upadte) : 저장된 데이터 변경
  • D(Delete) : 저장된 데이터 삭제

SQL

Structured Query Language
데이터베이스에 요청(Query)를 날려 원하는 데이터를 가져오는 것을 도와주는 언어
쿼리문 : 데이터베이스에 명령을 내리는 것

DB의 모든 테이블 보기

SHOW TABLES;

SELECT, WHERE

SELECT : DB에서 데이터를 선택하여 가져옴
WHERE : 가져올 데이터에 조건을 거는 것

[퀴즈1] 성이 황씨인 유저만 뽑아보기

SELECT * FROM USERS 
WHERE NAME = '황**'

[퀴즈2] 웹개발 종합반이면서 결제수단이 CARD인 주문건만 뽑아보기

SELECT * FROM ORDERS
WHERE COURSE_TITLE = '웹개발 종합반' AND PAYMENT_METHOD = "CARD"

[퀴즈3] 이메일이 naver이면서 가입 날짜가 7월 13일부터 15일 사이인 유저
(LIKE, BETWEEN)

SELECT * FROM USERS
WHERE EMAIL LIKE '%@naver.com'
AND CREATED_DATE BETWEEN '2020-07-13' AND '2020-07-15'

Limit : 일부 데이터만 가져옴

SELECT * FROM USERS LIMIT 10

Distinct : 중복 데이터 제외

SELECT DISTINCT PAYMENT_METHOD FROM ORDRES

GROUP BY

GROUP BY : 동일한 범주를 갖는 데이터를 하나로 묶어서 범주별 통계를 냄

  • COUNT : 개수
  • MIN/MAX : 최소값, 최대값
  • AVG : 평균
  • SUM : 합계

ORDER BY : 정렬 (ASC 오름차순, DESC 내림차순)

[퀴즈4] Gmail 을 사용하는 성씨별 회원수를 센 뒤, 성씨 기준으로 내림차순 정렬

SELECT NAME, COUNT(*) FROM USERS
WHERE EMAIL LIKE '%@gmail.com'
GROUP BY NAME
ORDER BY NAME DESC

SQL 쿼리 실행 순서

select payment_method, count(*) from orders
where course_title = "웹개발 종합반"
group by payment_method
order by payment_method

순서 : FROM → WHERE → GROUP BY → SELECT → ORDER BY

0개의 댓글