Web develop/SQL

[SQL/ORACLE] SELECT절 (실행순서, 연산자, WHERE, ORDER BY)

ForA 2019. 5. 27. 17:36
728x90

 

[실행순서]

2 FROM

3 WHERE

4 GROUP BY

5 HAVING

1 SELECT

6 ORDER BY

SELECT 컬럼명 --> 전체 열 중 원하는 열만 선택: 열 제어
FROM 테이블명
WHERE 조건식; --> 전체 행 중 원하는 행만 선택: 행 제어

조건식에 사용되는 연산자의 종류

문자 비교

컬럼명 LIKE 'pattern'
  • pattern 예약문자=> % (0~n개) , _(단 1개)

IN 연산자

컬럼명 IN (value_list)
SELECT empno, ename, comm FROM emp WHERE comm IN (300,500,400);

BETWEEN AND 연산자

컬럼명 BETWEEN a AND b; --> a이상 b이하

IS NULL , IS NOT NULL

컬럼명 IS NULL -- 컬럼명 = NULL 할 시 선택되는 행 X
컬럼명 IS NOT NULL

연산자의 우선순위

WHERE 300>500 AND 1<3 OR 1<2;   --> 출력 O
WHERE 300>500 AND (1<3 OR 1<2); --> 출력 X
WHERE (300>500 AND 1<3) OR 1<2; --> 출력 O

NVL

NVL(null값이 예상되는 컬럼명, null값을 대체할 데이터) 
-- 두 값의 자료형은 같아야함

SELECT empno, ename, NVL(comm,0) FROM emp; --null값 0으로 대체

ORDER BY절

  • 정렬하여 출력 (=sort)

  • ASC : 오름차순 (Ascending/기본값)DESC: 내림차순 (Decending)

SELECT 컬럼명 FROM 테이블명 WHERE 조건식 ORDER BY 컬럼명 [DESC/ASC];

SELECT empno, ename, sal FROM emp ORDER BY sal DESC , ename ASC;
-- 1차정렬 컬럼명, 2차정렬 컬럼명

'Web develop > SQL' 카테고리의 다른 글

[SQL/ORACLE] 날짜 함수 , 형변환 함수  (0) 2019.05.28
[SQL/ORACLE] 숫자 함수, 문자 함수  (0) 2019.05.28
[SQL/ORACLE] TCL  (0) 2019.05.24
[SQL/ORACLE] DML  (0) 2019.05.23
[SQL/ORACLE] DDL  (0) 2019.05.22