SELECT, WHERE
1. SQL
SQL(Structured Query Language)은 데이터베이스에 요청을 보내는데 사용되는 언어이며 이는 마치 엑셀(Excel)에서의 함수처럼 사용할 수 있습니다.
구분 | 엑셀 | 데이터베이스 |
---|---|---|
명령어 | 함수 | SQL |
데이터 제목 | 열 | 필드 |
데이터 집합 | 시트 | 테이블 |
데이터 집합의 그룹 | 파일 | 데이터베이스 |
SQL로 작성한 명령어를 쿼리(Query)라고 하며, 이를 통해 DB와 테이블 생성, 데이터 조회 등 다양한 작업을 수행할 수 있습니다.
2. SELECT
현재 데이터베이스 서버에 존재하는 모든 데이터베이스 목록을 조회합니다.
SHOW DATABASES;
현재 사용중인 데이터베이스에 존재하는 모든 테이블 목록을 조회합니다.
SHOW TABLES;
테이블에 존재하는 모든 필드의 데이터를 조회합니다.
SELECT * FROM TBL_A;
테이블에 존재하는 A, B 필드의 데이터만 조회합니다.
SELECT A, B FROM TBL;
3. WHERE
테이블에 존재하는 A 필드의 데이터 중에서 값이 ‘a’인 모든 행을 조회합니다.
SELECT * FROM TBL
WHERE A = 'a';
이번에는 A 필드의 데이터 중에서 값이 ‘a’가 아닌 모든 행을 조회합니다.
SELECT * FROM TBL
WHERE A != 'a";
테이블에 존재하는 B 필드의 데이터 중에서 값이 50 이상인 모든 행을 조회합니다.
SELECT name, point FROM TBL
WHERE B >= 50;
A 필드의 데이터 중에서 값이 ‘a’이면서 B 필드의 데이터 중에서 값이 50 이상인 행을 조회합니다.
SELECT * FROM TBL
WHERE A = 'a' AND B >= 50;
3.1. WHERE ~ LIKE
문자열을 나타내는 C 필드의 데이터 중에서 ‘c’로 시작하는 모든 행을 조회합니다.
SELECT * FROM TBL
WHERE C LIKE 'c%';
이번에는 ‘c’로 끝나는 모든 행을 조회합니다.
SELECT * FROM TBL
WHERE C LIKE '%c';
‘c’가 포함된 모든 행을 조회하면 다음과 같습니다.
SELECT * FROM TBL
WHERE C LIKE '%c%';
3.2. WHERE ~ BETWEEN
날짜를 나타내는 D 필드의 데이터 중에서 2022년 01월달에 해당하는 모든 데이터를 조회합니다.
SELECT * FROM TBL
WHERE D
BETWEEN '2022-01-01'
AND '2022-02-01';
3.3. WHERE ~ IN
B 필드의 데이터 중에서 값이 30, 60, 90인 모든 데이터를 조회합니다.
SELECT * FROM TBL
WHERE B IN(30, 60, 90);
3.4. LIMIT
B 필드의 데이터 중에서 값이 50이상인 데이터를 5개만 조회합니다.
SELECT * FROM TBL
WHERE B >= 50
LIMIT 5;