[ SQL ] 데이터 조작어 - SELECT 1

Kong-al·2022년 9월 3일
0
post-custom-banner

0826~0829 1,2일차 수업내용

데이터 조작어 - SELECT

구성요소

SELECT	속성이름
FORM	테이블이름
;

SELECT문에서 사용되는 문법

WHERE

조건을 구체화 할때 이용한다.

DISTINCT

중복제거할때 이용한다.

예시

EMPLOYEES테이블에서 LAST_NAME이 Smith인 사람의 EMPLOYEE_ID ,LAST_NAME,SALARY를 조회해라.

SELECT 	EMPLOYEE_ID ,LAST_NAME ,SALARY 
FROM 	EMPLOYEES e 
WHERE 	LAST_NAME = 'Smith'

OR

WHERE 절에 ㅇㅇ 또는 ㅇㅇ 이라고 조회할때 사용한다.

IN()

OR와 동일하다

예시

EMPLOYEES테이블에서 급여가 6500,7700,13000인 사람의 정보를 조회한다.

SELECT 	*
FROM 	EMPLOYEES e 
WHERE 	SALARY = 6500
OR 		SALARY = 7700
OR 		SALARY = 13000

NOT,<>,!=

WHERE 절에서 특정 값을 빼고 조회할 떄 사용한다.

BETWEEN A AND B

WHERE 절에서 A와 B값 사이의 값을 조회할 떄  사용한다.

예시

EMPLOYEES테이블에서 급여가 4000이상 8000이하인 사람의 정보를 조회한다.

SELECT 	*
FROM 	EMPLOYEES e 
WHERE 	SALARY BETWEEN 4000 AND 8000
;

LIKE

WHERE 절에서 특정 값으로 시작하는 값을 조회할때 이용한다.

예시

EMPLOYEES테이블에서 FIRST_NAME 이 D로 시작하는 사람의 FIRST_NAME을 조회한다.

SELECT 	FIRST_NAME 
FROM 	EMPLOYEES e 
WHERE 	FIRST_NAME LIKE 'D%'
;

EMPLOYEES테이블에서 FIRST_NAME 이 d로 끝나는 사람의 FIRST_NAME을 조회한다.

SELECT 	FIRST_NAME 
FROM 	EMPLOYEES e 
WHERE 	FIRST_NAME LIKE '%d'
;

EMPLOYEES테이블에서 FIRST_NAME 이 __a인 사람의 FIRST_NAME을 조회한다.

SELECT 	FIRST_NAME 
FROM 	EMPLOYEES e 
WHERE 	FIRST_NAME LIKE '__a%'
;

IS NULL

WHERE 절에서 NULL값을 조회할 때 사용한다.

IS NOT NULL

WHERE 절에서 NULL이 아닌 값을 조회할 때 사용한다.

ORDER BY ASC /ORDER BY DESC

특정 테이블을 기준으로 오름차순 정렬 / 내림차순 정렬
ASC는 생략가능하다. 

예시

EMPLOYEES테이블을 SALARY순으로 오름차순 정렬해라.

SELECT 	* 
FROM 	EMPLOYEES e 
ORDER BY SALARY 
;

NVL()

NULL값을 다른 데이터로 변경하는 함수

예시

EMPLOYEES테이블에서 COMMISSION_PCT가 NULL인 사람의 값을 0으로 바꾸고 조회해라.

SELECT 	FIRST_NAME ,LAST_NAME , NVL(COMMISSION_PCT,0) 
FROM 	EMPLOYEES e 
;

DECODE

switch문의 역할을 하는 함수

예시

EMPLOYEES테이블에서 DEPARTMENT_ID가 20이면 MA , 60이면 IT , 90이면 EX , 그 외에는 ETC로 출력

SELECT 	DEPARTMENT_ID , DECODE(DEPARTMENT_ID,20,'MA',60,'IT',90,'EX','ETC')
FROM 	EMPLOYEES e 
;

CASE()

IF~ELSE IF 문의 역할을 하는 함수

예시

EMPLOYEES테이블에서 DEPARTMENT_ID가 20이면 MA , 60이면 IT , 90이면 EX , 그 외에는 ETC로 출력

SELECT 	FIRST_NAME ,DEPARTMENT_ID ,
		CASE WHEN DEPARTMENT_ID = 20 THEN 'MA'
			 WHEN DEPARTMENT_ID = 60 THEN 'IT'
			 WHEN DEPARTMENT_ID = 90 THEN 'EX'
			 ELSE ''
		END DEPARTMENT
FROM 	EMPLOYEES e 
;
profile
웹개발 공부중!(❁´◡`❁)
post-custom-banner

0개의 댓글