Yoon.s

[Oracle] SQL문_SELECT(WHERE) 본문

백/DB

[Oracle] SQL문_SELECT(WHERE)

yo_onHJ 2020. 8. 24. 14:37

# 기본 형태

SELECT 컬럼명

FROM 테이블명

WHERE 조건

ORDER BY 기준 컬럼명

-> WHERE과 ORDER BY는 생략해도 가능

 

 

# WHERE 조건

  • AND 
  • OR
  • BETWEEN A AND B : A와 B 사이의 조건
  • IN (A,B,C) : A 또는 B 또는 C의 조건 (OR과 유사)
  • LIKE '가%' : 가로 시작하는 조건
  •       '%가' : 가로 끝나는 조건
  •       '가_' : 가로 시작하는 두 글자
  • A IS NULL : A 중에 NULL 값인 조건

# 비교연산자

>=   크거나 같다

<=   작거나 같다

<> , !=   아니다(반대이다)

 

 

#예제

order by [정렬 기준 컬럼] [오름차순 ASC | 내림차순 DESC]

default 값으로 asc 오름차순으로 지정되어있음

정렬 기준 컬럼을 제대로 명시 안할 시, missing expression 이라는 error가 발생함

 

 

 

문제 3, 결과값

where 조건에 줄 것이 아니라! 

이름/급여/급여+300을 출력하라고 하였으니 select 문장에서 사용해야 함.

 

컬럼의 이름을 주고 싶을 땐 해당 컬럼(sal*12+comm) 작성 후 한 칸 띄고 이름(급여)을 써준다. 

 * 이때, 띄어쓰기하려면 "'를 붙여줘야 함. 근데 ''는 불가능

또는, AS를 이용하여 별칭을 지어줌. ( sal*12+nvl(comm,0) as 급여 )

# 별칭을 주지 않으면, sal*12+nvl(comm,0) 이라고 컬럼명이 출력되어 어떤 컬럼인지 쉽게 알아보기 어려움

 

 

값을 출력할 때 문자열을 추가하고 싶으면 !?

|| 를 이용하여 '문자열'을 추가함 (이때 ''사용, ""은 불가능) 

 

 

조건 두개 이상 사용하기 : where문에 and | or 사용

 

 

WHERE [컬럼] BETWEEN [a] AND [b] : a와 b 사이의 데이터를 출력(a, b 값 포함)

* NOT BETWEEN _ AND _ 사용하게 되면 a와 b 사이에 있지 않은 데이터를 출력(a, b 값 포함X)

 

 

IN (list) : list의 값 중 어느 하나와 일치하는 데이터를 출력 (or과 유사)

* NOT IN (list) : 해당 데이터를 빼고 출력하고 싶을 때

 

 

LIKE : 문자 형태로 일치하는 데이터를 출력(%, _사용)

'%82%' 중간에 82가 들어간 데이터면 모두 출력 !! 

* between _ and _ 사용가능 (between '1982-01-01' and '1982-12-31')

* NOT LIKE : 일치하지 않는 데이터들만 출력

 

 

IS NULL : NULL 값을 가진 데이터를 출력 

* IS NOT NULL : NULL 값을 갖지 않는 데이터를 출력

' > DB' 카테고리의 다른 글

[mysql] Access denied for user ''@'localhost' 오류  (0) 2020.10.03
[mysql] mariaDB 시작하기  (0) 2020.10.01
[Oracle] SQL문_JOIN  (0) 2020.08.24
[Oracle] SQL문_SELECT(에러해결)  (0) 2020.08.24
[Oracle] SQL문_테이블 CREATE, INSERT  (0) 2020.08.21
Comments