-
[SQLD] SQL 개발자 공부하기 Day 5 : SELECT / WHERE / NULLStudy/SQL 2024. 2. 20. 23:00728x90반응형
목차
1. SELECT
SELECT
‣ 테이블에 입력된 데이터를 조회하기 위해서 사용한다.
‣ 특정 칼럼이나 특정 행만을 조회할 수 있다.
(1) SELECT 문법
SELECT 문법 설명 SELECT ‣ 데이터베이스로부터 특정 데이터를 선택하여 조회.
‣ 별표(*)를 사용하면 모든 칼럼의 데이터 조회.FROM ‣ 선택한 데이터가 어떤 테이블에서 온 것인지를 지정할 때 사용. WHERE ‣ 조회 조건을 지정할 때 사용.
‣ 데이터베이스에서 특정 조건을 만족하는 행만을 골라낼 때 사용.ex)
SELECT *
FROM EMP
WHERE 사원번호 = 1000;‣ 모든 칼럼을 조회하라 / EMP 표에서 / 사원번호가 1000인 행만
-> EMP표에서 사원번호가 1000인 행의 모든 칼럼을 출력하라.
(2) ORDER BY
‣ SELECT문을 사용할 때, ORDER BY를 같이 사용할 수 있다.
‣ ORDER BY는 오름차순(ASC) 혹은 내림차순(DESC)으로 출력한다.
‣ 정렬을 하는 시점은 모든 실행이 끝난 후 데이터를 출력해 주기 바로 전이다.
‣ ORDER BY는정렬을 하기 때문에 데이터베이스 메모리를 많이 사용하게 된다. -> 대량의 데이터를 정렬하면 성능 저하 발생.
‣ 정렬을 회피하기 위해서 인덱스(Index)를 생성할 때 사용자가 원하는 형태로 오름차순 혹은 내림차순으로 생성해야 한다.
‣ 특별한 지정이 없으면 ORDER BY는 오름차순으로 정렬한다.
ex)
SELECT *
FROM EMP
ORDER BY ENAME, SAL DESC;‣ 모든 칼럼을 조회하라 / EMP 표에서 / ENAME은 오름차순 SAL은 내림차순으로 정렬하라.
-> EMP 표에서 모든 칼럼을 조회하고 ENAME은 오름차순 SAL은 내림차순으로 정렬하라.
반응형(3) DISTINCT
‣ DISTINCT문은 칼럼명 앞에 지정하여 중복된 데이터를 한 번만 조회하게 한다.
ex)
SELECT DISTINCT DEPTNO
FROM EMP
ORDER BY DEPTNO;‣ DEPTNO 칼럼의 중복을 제거하고 조회해줘 / EMP 표에서 / DEPTNO는 오름차순으로 정렬하라.
-> EMP 표에서 DEPTNO 칼럼의 중복을 제거한 고유한 값을 조회하고 DEPTNO 칼럼의 값에 따라 오름차순으로 정렬해.
2. WHERE / NULL
WHERE
‣ 데이터를 조회할 때 특정한 조건을 만족하는 행을 찾기 위해 사용
(1) 비교 연산자
비교 연산자 설명 = ‣ 같은 것을 조회한다. < ‣ 작은 것을 조회한다. <= ‣ 작거나 같은 것을 조회한다. > ‣ 큰 것을 조회한다. >= ‣ 크거나 같은 것을 조회한다. (2) 부정 비교 연산자
부정 비교 연산자 설명 ! = ‣ 같지 않은 것을 조회한다. ^ = ‣ 같지 않은 것을 조회한다. <> ‣ 같지 않은 것을 조회한다. NOT 칼럼명 = ‣ 같지 않은 것을 조회한다. NOT 칼럼명 > ‣ 크지 않은 것을 조회한다. (3) 논리 연산자
논리 연산자 설명 AND ‣ 조건을 모두 만족해야 참이 된다. OR ‣ 조건 중 하나만 만족해도 참이 된다. NOT ‣ 참이면 거짓(False)으로 바꾸고 거짓이면 참(True)으로 바꾼다. 728x90(4) SQL 연산자
SQL 연산자 설명 LIKE '%비교 문자열%' ‣ 비교 문자열을 조회한다. %은 모든 값을 의미한다. BETWEEN A AND B ‣ A와 B 사이의 값을 조회한다. IN (list) ‣ OR을 의미하며 list 값 중 하나만 일치해도 조회된다. IS NULL ‣ NULL 값을 조회한다. (5) 부정 SQL 연산자
부정 비교 연산자 설명 NOT BETWEEN A AND B ‣ A와 B 사이의 해당되지 않는 값을 조회한다. NOT IN (list) ‣ list와 불일치한 것을 조회한다. IS NOT NULL ‣ NULL 값이 아닌 것을 조회한다. NULL 관련 함수
NULL 함수 설명 NVL (Oracle) ‣ NULL이면 다른 값으로 바꾼다. NVL2 (Oracle) ‣ NVL2(MGR, 1, 0)은 NULL이 아니면 1, NULL이면 0을 반환한다. NULLIF (Oracle, MS-SQL, MySQL) ‣ 두 개의 값이 같으면 NULL, 아니면 첫 번째 값을 반환한다. COALESCE (Oracle, MS-SQL) ‣ NULL이 아닌 최초의 인자 값을 반환한다. 728x90반응형'Study > SQL' 카테고리의 다른 글
[SQLD] SQL 개발자 공부하기 Day 7 : SUBQUERY / JOIN / UNION / MINUS (0) 2024.02.22 [SQLD] SQL 개발자 공부하기 Day 6 : GROUP BY / HAVING / 형변환 / 내장형 함수 (0) 2024.02.21 [SQLD] SQL 개발자 공부하기 Day 4 : 관계형 데이터베이스 / SQL (0) 2024.02.19 [SQLD] SQL 개발자 공부하기 Day 3 : 데이터 모델링의 이해 오답 노트 (0) 2024.02.18 [SQLD] SQL 개발자 공부하기 Day 2 : 정규화 / 반정규화 / 관계 (1) 2024.02.17