※ 스파르타코딩클럽의 '엑셀보다 쉬운 SQL' 강의를 듣고 정리한 SQL 기초 문법입니다.
- SQL: Structured Query Language의 약자. 데이터베이스에 요청 (Query)을 날려서 원하는 데이터를 가져오는 것을 도와주는 언어
- 쿼리(Query)문: 데이터베이스에 명령을 내리는 것.
Select 쿼리문: 테이블의 데이터를 가져오는 쿼리문
// 특정 테이블의 모든 데이터를 가져오기
select * from 테이블명
// orders 테이블의 모든 데이터를 가져오기
select * from orders
Where 절: Select 쿼리문으로 가져올 데이터에 조건을 걸어주는 것
1) 특정 테이블에서 특정 필드값에 해당하는 데이터만 가져오기
select * from 테이블명
where 필드명 = "값";
// orders 테이블에서 결제수단이 카카오페이인 데이터만 가져오기
select * from orders
where payment_method = "kakaopay";
2) 필드값 조건을 추가할 때는 and 로 연결
// orders 테이블에서 코스명이 앱개발 종합반이고, 결제수단이 카카오페이인 데이터만 가져오기
select * from orders
where course_title = "앱개발 종합반" and payment_method = "kakaopay";
3) 비교 연산자로 값 비교하기 (<, >, =, != (같지 않음))
4) 범위 조건을 추가할 때는 between
// 7월 13일, 7월 14일 주문데이터만 가져오기
select * from orders
where created_at between "2022-07-13" and "2022-07-14"
5) 값1, 값2, ...이 필드값에 포함되는 경우는 in: in (값1, 값2, ...)
6) 패턴 (문자열 규칙) 조건 걸기 (like, % 이용)
// 이메일 필드값이 a로 시작해서 o로 끝나는 모든 데이터
select * from users
where email like 'a%o';
7) limit: 일부 데이터만 가져오기 (테이블 전체를 불러오면 시간이 오래 걸리기 때문에 테이블이 어떤 형태인지 확인만 하려는 것)
// orders 테이블에서 5행까지만 가지고 오기
select * from orders
limit 5;
8) distinct: 중복 제외하고 데이터 가져오기
// orders 테이블에서 결제수단 종류를 중복 없이 가져오기
select distinct(payment_method) from orders;
9) count: 몇 개인지 숫자 세보기
// orders 테이블에서 모든 테이터의 수
select count(*) from orders