가장 쉽게 시작하는 데이터 분석, SQL유치원 강의
WHERE
가져올 데이터의 조건을 지정해주는 키워드
SELECT [컬럼이름]
FROM [테이블 이름]
WHERE 조건식;
- 조건식을 작성하는 데에는 다양한 방식 존재
- 보통 '연산자'를 사용
- 원하는 데이터의 조건이 참이 되게끔 조건식 작성
- MySQL에서는 Ture값을 1로 표현
연산자 종류
비교 연산자
=, !=, >, >=, <, <=
SELECT [컬럼 명]
FROM [테이블 명]
WHERE [컬럼] = [값];
SELECT [컬럼 명]
FROM [테이블 명]
WHERE [컬럼] != [값];
SELECT [컬럼 명]
FROM [테이블 명]
WHERE [컬럼] >= [값];
SELECT [컬럼 명]
FROM [테이블 명]
WHERE [컬럼] > [값];
SELECT [컬럼 명]
FROM [테이블 명]
WHERE [컬럼] < [값];
SELECT [컬럼 명]
FROM [테이블 명]
WHERE [컬럼] <= [값];
논리 연산자
AND, OR, NOT
SELECT [컬럼 명]
FROM [테이블 명]
WHERE [컬럼] <= [값] AND [컬럼] = [값];
SELECT [컬럼 명]
FROM [테이블 명]
WHERE [컬럼] <= [값] OR [컬럼] = [값];
SELECT [컬럼 명]
FROM [테이블 명]
WHERE [컬럼] <= [값] AND NOT([컬럼] = [값]);
기타 주요 연산자
BETWEEN
- 특정 범위 내의 데이터를 선택할 때 사용하는 연산자
특징
- [컬럼 명]BETWEEN A AND B 형식
- 해당 컬럼 값이 A와 B 사이에 포함되는 값을 가진 로우만 선택.
- [컬럼 명] BETWEEN A AND B 쿼리는 A <= [컬럼 명] AND [컬럼 이름] <= B와 동일.
SELECT [컬럼 명]
FROM [테이블 명]
WHERE [컬럼 명] BETWEEN [조건 1] AND [조건 2];
IN
- 목록 내 포함되는 데이터를 선택할 때 사용하는 연산자
특징
- [컬럼 명] IN (A,B,```,C) 형식
- 해당 컬럼 값이 '()' 내의 값에 포함되는 값을 가진 로우만 선택
- [컬럼 명] IN (A,B) 쿼리는 [컬럼 명] = A OR [컬럼 이름] = B와 동일
- 목록에 넣을 값이 여러 개일 때, OR 연산자보다 표현 및 이해가 쉬움.
SELECT [컬럼 명]
FROM [테이블 명]
WHERE [컬럼 명] IN(조건1,조건2);
문자 데이터 다루기
LIKE
- 특정 문자열이 포함된 데이터를 선택하는 연산자
특징
- [컬럼 명] LIKE [검색할 문자열] 형식으로 사용
- 해당 컬럼 값이 [검색할 문자열]을 포함하고 있는 로우만 선택
- [검색할 문자열] 내에 와일드 카드를 사용하여 검색 조건을 구체적으로 표현
와일드 카드
% = 0개 이상의 문자
_ = 1개의 문자
ex)
- %e = 'e','ee','eecee', 'apple' 과 같은 e로 끝나는 문자열
- e% = e로 시작하는 문자열
- %e% = e가 포함된 문자열
- _e = e로 끝나고 e 앞에 1개의 문자가 있는 문자열
- %_e = e로 끝나고 e 앞에 1개 이상의 문자가 있는 문자열
- %_e__% = e를 포함하고 e앞뒤로 1개의 문자가 있는 문자열
SELECT [컬럼 명]
FROM [테이블 명]
WHERE [컬럼 명] LIKE(검색할 문자열);
NULL
- 데이터 값이 존재하지 않는다는 표현
- 0 이나 공백이 아닌 알 수 없는 값을 의미
IU NULL
- 데이터가 NULL인지 아닌지를 확인하는 연산자
특징
- [컬럼 명] IS NULL 형식으로 사용
- 해당 컬럼이 NULL인 있는 로우만 선택
- NULL이 아닌 데이터를 검색하고 싶다면 IS NOT NULL
- [컬럼 명] = NULL 또는 [컬럼 명] != NULL 과 같은 표현 사용 X