쿼리(Query)문이란?
데이터베이스에 명령을 내리는 것.
Select 쿼리문 : 데이터베이스에서 '데이터를 선택해서 가져오겠다'는 의미.
테이블 : 데이터가 담긴 엑셀 시트. 위 이미지는 orders라는 이름의 테이블.
필드 : order_no, created_at, course_title 등을 각각의 필드라고 함.
Where절 : Select 쿼리문으로 가져올 데이터에 조건을 걸어주는 것을 의미함.
Where절과 자주 같이 쓰는 문법들
1. 같지 않음 : !=
2. 범위: between a and b
3. 포함 : in (a, b, ...)
4. 패턴 : like '%'
where email like 'a%' : email 필드값이 a로 시작하는 모든 데이터
where email like '%a' : email 필드값이 a로 끝나는 모든 데이터
where email like '%co%' : email 필드값에 co를 포함하는 모든 데이터
where email like 'a%o' : email 필드값이 a로 시작하고 o로 끝나는 모든 데이터
이외 유용한 문법들
1. 일부 데이터만 가져오기 : limit
2. 중복데이터는 제외하고 가져오기 : Distinct
3. 몇 개인지 숫자 세보기: Count
4. 동일한 범주를 갖는 데이터를 하나로 묶어서, 범주별 통계를 내주는 것 : Group by
A. 동일한 범주의 개수 구하기
B. 동일한 범주의 최솟값 구하기
C. 동일한 범주의 최댓값 구하기
D. 동일한 범주의 평균 구하기
E. 동일한 범주의 합계 구하기
5. 정렬하기 : Order by
A. 오름차순 정렬
B. 내림차순 정렬
6. 별칭 기능: Alias
Join이란?
두 테이블의 공통된 정보(key 값)를 기준으로 테이블을 연결해서 한 테이블처럼 보는 것.
1. Join의 종류
Union이란?
Select를 두 번 할 게 아니라 한번에 모아서 보고싶은 경우 사용
단, 내부 정렬은 안 먹힘(서브쿼리를 사용해야 함)
Subquery란?
원하는 데이터를 더 쉽게 가져오기
1. Where에 들어가는 Subquery: where 필드명 in (subquery)
2. Select에 들어가는 Subquery: select 필드명, 필드명, (subquery) from ...
3. From에 들어가는 Subquery: 내가 만든 Select와 이미 있는 테이블을 Join하고 싶을 때 사용.
With절 : 서브쿼리가 여러 개여서 inner join 안쪽이 헷갈리는 경우 사용.
실전에서 유용한 SQL 문법
1. 문자열
A. 문자열 쪼개보기 : SUBSTRING_INDEX
B. 문자열 일부만 출력하기 : SUBSTRING
2. 경우에따라 원하는 값을 새 필드에 출력해보기 : CASE