SELECT문이란?

SELECT문의 기본 구조

SELECT [DISTINCT] [컬럼명]
FROM [테이블명]
WHERE [쿼리 조건]
GROUP BY [컬럼명] HAVING [집계함수 조건]
ORDER BY [컬럼명 ASC || 컬럼명 DESC]
LIMIT [n] OFFSET [n]
;

테이블 전체 컬럼 조회 : *(Asterisk)

SELECT *
FROM employees;

조회한 데이터 중 특정 컬럼만 출력

SELECT
	name
	,birth
FROM employees;

WHERE 절 : 특정 컬럼의 값이 일치한 데이터만 조회

-- 컬럼의 데이터 타입이 숫자일 경우
SELECT
	*
FROM employees
WHERE
	emp_id = 10009
;

-- 컬럼의 데이터 타입이 문자열일 경우
SELECT
	*
FROM employees
WHERE
	name = '손지우'
;

-- 컬럼의 데이터 타입이 데이트일 경우, 표준 날짜 형식인 'YYYY-MM-DD' 사용
SELECT
	*
FROM employees
WHERE
	birth >= '1990-01-01'
;

-- 컴럼의 데이터가 NULL인 데이터를 획득하고 싶은 경우
SELECT
	*
FROM employees
WHERE
	fire_at IS NULL
;

-- 컴럼의 데이터가 NULL이 아닌 데이터를 획득하고 싶은 경우
SELECT
	*
FROM employees
WHERE
	fire_at IS NOT NULL
;

AND, OR 연산자 조건을 여러개 적용해서 조회

-- 생일이 1965-01-01 ~ 1970-01-01인 사원 조회
SELECT
	*
FROM employees
WHERE
      birth <= '1970-01-01'
  AND birth >= '1965-01-01'
;

-- 이름이 '강성령'이고, 생일이 '1999-01-01'이후인 사원 조회
SELECT
	*
FROM employees
WHERE
	    name = '강성령'
  AND birth >= '1999-01-01'
;

-- 이름이 '강성령' 또는 '정유리'인 사원 조회
SELECT
	*
FROM employees
WHERE
			name = '강성령'
   OR NAME = '정유리'
;

BETWEEN 연산자 : 지정한 범위 내의 데이터를 조회

-- AND 연산자로 작성한 경우
SELECT
	*
FROM employees
WHERE
	    emp_id >= 10005
  AND emp_id <= 10010
;

-- BETWEEN 연산자로 작성한 경우
SELECT
	*
FROM employees
WHERE
	emp_id BETWEEN 10005 AND 10010
;

IN 연산자 : 다수의 지정한 값과 일치하는 데이터 조회

-- OR 연사자로 작성한 경우
SELECT
	*
FROM employees
WHERE
	   emp_id = 10005
	OR emp_id = 10010
;

-- IN 연산자로 작성한 경우
SELECT
	*
FROM employees
WHERE
	emp_id IN(10005, 10010)
;

LIKE 절 : 문자열의 내용을 조회(대소문자를 구별X)

-- 이름이 우로 끝나는 사원 조회
SELECT
	*
FROM employees
WHERE
	name LIKE '%우'
;

-- 이름이 우로 시작하는 사원 조회
SELECT
	*
FROM employees
WHERE
	name LIKE '우%'
;

-- 이름에 우가 포함 되어 있는 사원 조회
SELECT
	*
FROM employees
WHERE
	name LIKE '%우%'
;