기본 쿼리
1
2
3
4
5
SELECT 컬럼1
FROM 테이블
WHERE 표현식
ORDER BY 컬럼1
LIMIT 10
SELECT <컬럼> FROM <테이블>- 테이블에서 특정 컬럼을 조회한다
- 여러 컬럼을 동시에 조회할 수 있다
- ex.
SELECT Name, Age FROM Students: Name, Age를 조회 - ex.
SELECT * FROM Students: 모든 컬럼을 조회
- ex.
WHERE- 조건식에 부합하는 데이터만 조회한다
- 아래의 표현식 참조
ORDER BY <컬럼명|컬럼순서> [ASC|DESC]- 조회한 데이터를 나열할 순서를 지정한다
ASC를 붙여 오름차순,DESC를 붙여 내림차순 정렬- 생략시 오름차순으로 정렬
LIMIT [n]- 조회할 행의 개수를 제한한다
- ex.
SELECT * FROM Students LIMIT 5: 모든 컬럼을 5번째 행까지 조회
DISTINCT- 중복되는 데이터를 제거하고 보여준다
- SELECT 바로 뒤에 오며 컬럼 값을
- ex.
SELECT DISTINCT Age FROM Students: Age를 조회하되, 중복된 결과가 나오지않음 - ex.
SELECT DISTINCT Age, Grade FROM Students: Age, Grade를 조회하되, 중복된 Age-Grade 쌍이 나오지않음
AS- 컬럼에 별명을 붙임
- ex.
SELECT Grade AS 성적 FROM Students: Grade를 조회하지만, 성적으로 표시됨 - 테이블에도 붙일 수 있으며, 이후 JOIN 등의 문법에서 사용
표현식
산술 연산자
+,-,*,/: 사칙 연산DIV: 나누기(정수) 연산MOD,%: 나머지 연산
비교 연산자
두 값을 비교 후 1, 0을 리턴한다
=: 같다!=,<>: 같지 않다>,<: 초과/미만>=,<=: 이상/이하- ex.
SELECT * FROM 성적 WHERE 점수 >= 80점수가 80이상인 데이터 조회
논리 연산자
두 표현식을 평가한다
AND: 두 조건이 모두 참이면 참OR: 하나 이상 참이면 참NOT: 부정- ex.
SELECT * FROM 성적 WHERE 점수 >= 50 AND 점수 < 80점수가 50이상 80미만인 데이터 조회
패턴 매칭
LIKE
- 특정 문자열이 패턴과 일치하는지 확인
- 와일드카드
%,_를 사용한다%: 0개 이상의 모든 문자열 매칭_: 정확히 하나의 문자
- ex.
SELECT * FROM 성적 WHERE 이름 LIKE '김%': 첫 글자가 ‘김’인 이름의 데이터 조회- 매칭되는 이름 :
김길현,김밥말이,김 - 매칭되지 않는 이름 :
이지은
- 매칭되는 이름 :
- ex.
SELECT * FROM 성적 WHERE 이름 LIKE '이__': 첫 글자가 ‘이’이면서 3글자인 이름의 데이터 조회- 매칭되는 이름 :
이민수,이지은 - 매칭되지 않는 이름 :
이,이름,김민수
- 매칭되는 이름 :
REGEXP, REGEXP_LIKE
- 정규표현식을 통해 패턴 매칭을 수행한다
- ex.
SELECT * FROM 성적 WHERE 이름 REGEX '^김.(빈|성)$'- 김으로 시작하고 중간에 아무 글자가 하나 들어가며 마지막 글자가 빈 또는 성으로 끝나는 이름을 매칭해 데이터를 조회한다
- ex.
SELECT * FROM 성적 WHERE REGEX_LIKE(이름, '^김.?(빈|성)$')- 위 예시와 동일함
이외
IS NULL
- 데이터에 값이 들어있지 않은 경우를 판정한다
- 0 또는 빈 문자열과는 다른 의미
- ex.
SELECT * FROM 성적 WHERE 점수 IS NULL점수가 들어있지 않은 데이터를 조회
IN
- 어떤 칼럼의 값이 목록 중 포함되어있는지 확인하는 연산자
- ex.
SELECT * FROM 성적 WHERE 이름 IN ('민수', '영수')이름이 민수거나 영수인 데이터 조회 - ex.
SELECT * FROM 성적 WHERE 이름 = '민수' OR 이름 = '영수'위 예시와 동일하게 작동
BETWEEN AND
- 칼럼의 값이 특정 범위에 포함되는지 확인하는 연산자
- ex.
SELECT * FROM 성적 WHERE 점수 BETWEEN 80 AND 100점수가 80점 이상 100점 이하인 데이터 조회 - ex.
SELECT * FROM 성적 WHERE 점수 >= 80 AND 점수 <= 100위 예시와 동일하게 작동
UNION (집합)
- 두 SELECT문을 합치는 연산자
- 합치기 위해 각 SELECT문의 컬럼의 개수가 동일하고, 각 데이터 타입 또한 동일하거나 상호 호환이 가능해야 한다
예시1
1
2
3
4
5
SELECT 이름, 점수
FROM 체육시험
UNION
SELECT 이름, 점수
FROM 수학시험