DML

색인


선택하다

기본 구조

SELECT (DISTINCT) (컬럼명)
FROM (테이블명)
WHERE (쿼리 조건)
GROUP BY (컬럼명) HAVING (집계함수 조건)
ORDER BY (컬럼명 ASC || 컬럼명 DESC)
;

전체 테이블 검색

모두보기

SELECT *
FROM employees;

열 이름으로 쿼리

SELECT emp_no
FROM employees;
SELECT emp_no, first_name
FROM employees;

특정 조건으로 검색

기본 구조

SELECT (컬럼명) 
FROM (테이블명) 
WHERE (쿼리 조건);

특정 날짜와 일치하는 조건으로 검색

SELECT *
FROM employees
WHERE emp_no = 10001;
SELECT *
FROM employees
WHERE first_name="Georgi";

관계 연산자를 사용한 쿼리

SELECT *
FROM employees
WHERE emp_no <= 10005;

AND, OR을 사용하여 여러 조건을 지정하여 검색

SELECT *
FROM employees
WHERE emp_no <= 10001
  AND emp_no <= 10005;
SELECT *
FROM employees
WHERE emp_no <= 10003
   OR emp_no >= 499997;

BETWEEN (A) AND (B) – 이 범위 내에서 데이터를 쿼리합니다.

SELECT *
FROM employees
WHERE emp_no BETWEEN 10003 AND 10010;

IN()을 사용하여 이 데이터를 쿼리합니다.

SELECT *
FROM employees
WHERE emp_no IN( 10003, 10010 );

LIKE로 문자열 내용 쿼리

– “%”는 모든 것을 허용함을 의미합니다(모든 문자, 임의의 문자 수).

SELECT *
FROM employees
WHERE first_name like( '%eo' );
SELECT *
FROM employees
WHERE first_name like( 'eo%' );

– “_”는 “_”의 개수만큼만 허용됩니다.

SELECT *
FROM employees
WHERE first_name like( '_eorgi' );
SELECT *
FROM employees
WHERE first_name like( 'Georg_' );

쿼리에 대해 ORDER BY로 정렬

– 오름차순 ASC

SELECT *
FROM employees
ORDER BY emp_no ASC;

– 내림차순 DESC

SELECT *
FROM employees
ORDER BY emp_no DESC;

DISTINCT로 중복값 없는 쿼리

SELECT DISTINCT dept_no
FROM dept_manager;

LIMIT로 출력 수를 제한하여 쿼리

SELECT *
FROM employees
LIMIT 5;
SELECT *
FROM employees
LIMIT 5 OFFSET 10;

하위 쿼리

다른 쿼리 내의 쿼리

SELECT *
	FROM dept_manager
	WHERE
		dept_no = (
                            SELECT dept_no 
                            FROM dept_manager
                            WHERE emp_no = 110114
				  );

집계 함수

– AVG(컬럼명): 평균
– MAX(컬럼명) : 최대값 찾기
– MIN(열명) : 최소값 찾기
– COUNT(컬럼 이름): 숫자를 계산합니다.


그룹화 기준

그룹으로 보기

GROUP BY 열 이름(HAVING 집계 함수 조건)

SELECT dept_no, COUNT(emp_no) AS cnt
FROM dept_manager
GROUP BY dept_no
HAVING cnt > 2;

GitHub

지름길