[MySQL] SELECT 문 (데이터 조회하기)

SELECT 문 (데이터 조회)

SELECT

SELECT

SELECT 문은 데이터베이스의 테이블에서 데이터를 조회하는 SQL 문입니다.

SELECT 컬럼1, 컬럼2, ... FROM 테이블명;

WHERE

WHERE 절은 SELECT 문에서 특정 조건을 충족하는 데이터를 조회합니다. 다양한 연산자를 함께 사용하여 더 자세하게 데이터를 조회할 수 있습니다.

기본 문법

SELECT 컬럼1, ... FROM 테이블명 WHERE 조건문;

컬럼 값이 a보다 큰 데이터 조회

SELECT * FROM 테이블명 WHERE 컬럼 > a;

컬럼 값이 a 또는 b와 일치하는 데이터 조회

SELECT * FROM 테이블명 WHERE 컬럼 = a OR 컬럼 = b;

-- OR

SELECT * FROM 테이블명 WHERE 컬럼 IN (a, b);

컬럼 값이 a ~ b 사이의 값을 가지는 데이터 조회

SELECT * FROM 테이블명 WHERE 컬럼 >= a AND 컬럼 <= b;

-- OR

SELECT * FROM 테이블명 WHERE 컬럼 BETWEEN a AND b;

컬럼 값이 a로 시작하는 데이터 조회

SELECT * FROM 테이블명 WHERE 컬럼 LIKE 'a%';

컬럼 값이 a로 시작하는 두 글자인 데이터 조회

SELECT * FROM 테이블명 WHERE 컬럼 LIKE 'a_';

ORDER BY

ORDER BY 절은 쿼리 결과를 특정 순서로 출력할 수 있습니다.

SELECT 컬럼1, 컬럼2, ... FROM 테이블명 ORDER BY 컬럼1 [ASC | DESC], 컬럼2 [ASC | DESC], ...;

WHERE 절과 함께 사용하면 순서를 주의해야 합니다. ORDER BY 절은 WHERE 절 뒤에 나와야 합니다.

SELECT 컬럼1, 컬럼2, ... FROM 테이블명 WHERE 조건문 ORDER BY 컬럼1 [ASC | DESC], ...;

컬럼1을 기준으로 오름차순 정렬

SELECT * FROM 테이블명 ORDER BY 컬럼1 ASC;

컬럼1을 기준으로 내림차순 정렬

SELECT * FROM 테이블명 ORDER BY 컬럼1 DESC;

LIMIT

LIMIT 절은 쿼리에서 반환되는 행의 수를 제한하는데 사용됩니다. LIMIT 절은 첫 번째 데이터를 0번으로 시작하며, 0번부터 조회할 경우 생략이 가능합니다.

SELECT 컬럼1, 컬럼2, ... FROM 테이블명 LIMIT 시작, 개수

-- OR

SELECT 컬럼1, 컬럼2, ... FROM 테이블명 LIMIT 개수 OFFSET 시작;

첫 번째 데이터를 포함하는 세 개의 데이터 출력

SELECT * FROM 테이블명 LIMIT 3;

-- OR

SELECT * FROM 테이블명 LIMIT 0, 3;

-- OR

SELECT * FROM 테이블명 LIMIT 3 OFFSET 0;

DISTINCT

DISTINCT 절은 쿼리 결과에서 중복 데이터를 1개만 남깁니다.

SELECT DISTINCT 컬럼1, ... FROM 테이블명;

GROUP BY

GROUP BY 절은 하나 이상의 컬럼을 기반으로 행을 그룹화하는데 사용됩니다. GROUP BY 절은 보통 집계 함수와 함께 사용합니다.

SELECT 컬럼1, ..., 집계 함수(컬럼) FROM 테이블명 GROUP BY 컬럼1, ...;

컬럼1을 그룹화 후, 컬럼1 그룹이 컬림2을 가지고 있는 개수

SELECT 컬럼1, COUNT(컬럼2) FROM 테이블명 GROUP BY 컬럼1;

HAVING

HAVING 절은 GROUP BY 절과 함께 사용되며, 집계된 값에 조건을 적용하여 쿼리 결과를 필터링합니다. WHERE 절은 행이 그룹화되기 전에 행을 필터링하는 반면 HAVING 절은 GROUP BY 작업의 결과를 필터링합니다.

SELECT 컬럼1, ..., 집계 함수(컬럼) FROM 테이블명 GROUP BY 컬럼1, ... HAVING 조건문;

컬럼1을 그룹화 후, 컬럼1 그룹이 컬림2을 가지고 있는 개수가 두 개 이상일 경우

SELECT 컬럼1, COUNT(컬럼2) FROM 테이블명 GROUP BY 컬럼1 HAVING COUNT(컬럼2) >= 2;

연산자

MySQL은 데이터에 대해 다양한 작업을 수행할 수 있도록 연산자를 제공합니다.

산술 연산자

산술 연산자는 숫자 데이터에 대한 수학적 계산을 수행하기 위한 연산자입니다.

산술 연산자설명
+더하기
-빼기
*곱하기
/나누기
DIV왼쪽 피연산자를 오른쪽 피연산자로 나눈 후 소수 부분을 버립니다.
% 또는 MOD왼쪽 피연산자를 오른쪽 피연산자로 나눈 후 나머지를 반환합니다.

비교 연산자

비교 연산자는 값을 비교하여 불린 값을 반환하는 연산자입니다. 참(true)이면 1을 반환하고 거짓(false)이면 0을 반환합니다.

비교 연산자설명
>왼쪽 피연산자가 오른쪽 피연산자보다 크면 참을 반환합니다.
>=왼쪽 피연산자가 오른쪽 피연산자보다 크거나 같으면 참을 반환합니다.
<왼쪽 피연산자가 오른쪽 피연산자보다 작은면 참을 반환합니다.
<=왼쪽 피연산자가 오른쪽 피연산자가보다 적거나 같은면 참을 반환합니다.
=두 피연산자가 같으면 참을 반환합니다.
<> 또는 !=두 피연산자가 같지 않으면 참을 반환합니다.

논리 연산자

논리 연산자는 논리식을 평가하여 참(true)은 1, 거짓(false)는 0, UNKNOWN은 NULL을 반환합니다.

논리 연산자설명
AND왼쪽과 오른쪽 조건이 모두 참이면 참을 반환합니다.
OR왼쪽 또는 오른쪽 조건 중 하나라도 참이면 참을 반환합니다.
NOT조건이 거짓이면 참을 반환하고 조건이 참이면 거짓을 반환합니다.

BETWEEN, IN 연산자

연산자설명
BETWEEN지정된 범위 내에서 값을 선택하는데 사용됩니다. 시작 값과 끝 값을 모두 포함합니다.
IN일련의 값을 지정하고 해당 값과 일치하는 레코드를 검색하는데 사용됩니다.

LIKE 연산자

LIKE 연산자는 컬럼의 데이터 내에서 특정 패턴과 일치하는 데이터를 검색하는데 사용됩니다.

와일드카드설명
%모든 문자를 나타냅니다.(공백 포함)
_단일 문자를 나타냅니다.


© 2023.06. by 고개

Powered by 고개