728x90
SELECT 문
CRUD(Create, Read, Update, Delete) 중 Read
[기본 구조]
SELECT 필드이름 FROM 테이블
[여러 필드를 조회하는 경우]
SELECT 필드이름1, 필드이름2 FROM 테이블
[모든 필드를 조회하는 경우]
SELECT * FROM 테이블
[중복된 데이터를 없애고 조회하는 경우]
SELECT DISTICT 필드이름 FROM 테이블
[조건식을 적용하는 경우]
SELECT * FROM 테이블 WHERE 필드이름=0
[여러 조건식을 적용하는 경우]
SELECT * FROM 테이블 WHERE 필드이름1=0 AND 필드이름2=0 OR 필드이름3=0
[조건식의 종류]
WHERE 필드이름 BETWEEN 0 AND 100 WHERE 필드이름 NOT BETWEEN AND 100 WHERE 필드이름 IN(1, 10, 100) WHERE 필드이름 NOT IN(1, 10, 100) WHERE 필드이름 IS NULL WHERE 필드이름 NOT IS NULL WHERE 필드이름 LIKE '홍__' WHERE 필드이름 NOT LIKE '홍__' WHERE 필드이름 LIKE '홍%' WHERE 필드이름 NOT LIKE '홍%'
[특정 필드 기준으로 정렬하는 경우]
SELECT 필드이름 FROM 테이블 ORDER BY 필드이름
[정렬 기준이 여러개인 경우]
SELECT 필드이름 FROM 테이블 ORDER BY 필드이름1, 필드이름2 DESC, 필드이름3 ASC
[내부조인한 결과를 출력하는 경우]
SELECT 데이블1.필드이름 FROM 테이블1, 테이블2 WHERE 테이블1.필드이름 = 테이블2.필드이름
[별칭을 이용해 코드 간소화하는 경우(위 코드와 동일)]
SELECT A.필드이름 FROM 테이블1 A, 데이블2 B WHERE A.필드이름 = B.필드이름
[외부조인한 결과를 출력하는 경우]
SELECT A필드이름 FROM 테이블1 A, 테이블2 B WHERE A.필드이름 = B.필드이름(+)
[집합연산을 이용해 결과를 출력하는 경우]
SELECT 필드이름 FROM 테이블1 UNION (또는 UNION ALL, MINUS, INTERSET) SELECT 필드이름 FROM 테이블2
[서브 쿼리(중첩 쿼리)를 실행하는 경우_서브 쿼리 결과가 하나일 때]
SELECT 필드이름1 FROM 테이블 WHERE 테이블.필드이름2 <=( SELECT 필드이름2 FROM 테이블 WHERE 조건문 )
서브 쿼리(중첩 쿼리)를 실행하는 경우_서브 쿼리 결과가 여러개일 때
SELECT 필드이름1 FROM 테이블 WHERE 테이블.필드이름2 IN ( SELECT 필드이름2 FROM 테이블 WHERE 조건문 )
* IN 외에 ALL, ANY, EXIST 도 쓸 수 있음.
728x90
'STUDY > SQL' 카테고리의 다른 글
matrix(行列) 행(row)과 열(column) (0) | 2021.02.22 |
---|---|
INSERT, UPDATE, DELETE문의 기본 문법 (0) | 2021.02.19 |
Oracle SQL Developer에 접속이 되지 않는다면 (0) | 2021.02.17 |
Oracle SQL Developer 의 기본 사용법 (0) | 2021.02.17 |
전체 데이터 조회하기 (0) | 2021.02.15 |