본문 바로가기
Oracle

[Oracle] SELECT와 WHERE조건

by 신입같은 3년차 2017. 7. 4.

SELECT


 - 데이터를 검색하는 기본 문장 , 특별하게 SELECT는 질의어라고 한다,  검색한 결과를 테이블 형태로 출력한다.


ex)


SELECT * FROM book;  // book테이블에서 모든 데이터를 가지고 온다.  ' * ' 은 모든열을 나타낸다.

  // ' * ' 은 열의개수가 많거나 열의 이름을 모를경우 사용할 수 있다.




WHERE


 - 조건에 맞는 검색을 할 때 사용한다. WHERE 절에 조건으로 사용할수 있는 술어를 표로 표현했다.


술어 

연산자 

사용 예 

비교

  = , <> , < , <= , > , >=

price < 20000 

범위 

 BETWEEN 

 price BETWEEN 5000 AND 10000

집합

IN, NOT IN 

price IN (5000, 10000, 15000) 

패턴 

LIKE 

name LIKE = '%길동%' 

NULL 

IS NULL , IS NOT NULL 

price IS NULL 

복합조건 

AND , OR , NOT 

(price < 10000)  AND (name LIKE = '%길동%')


비교 :   = ( 같은지 비교 ) , <> ( 같지 않다 ) , < ( 좌변이 우변보다 작을경우 true ) , <= ( 좌변이 우변보다 작거나 같을경우 true )

             > ( 좌변이 우변보다 클경우 true ) , >= ( 좌변이 우변보다 크거나 같을경우 true )


범위 : BETWEEN ( 해당 COLUMN BETWEEN 값1 AND 값2  :  값1이상 ~ 값2이하 사이의 값들을 검색한다. ) 


집합 : 해당 COLUMN IN ( 조건 값 ) 검색할 값들이 있는 행(row)들을 검색한다.   NOT IN (조건 값) - 조건값들을 제외한 행(row)들을 검색한다.


패턴 : 

WHERE 조건column LIKE '최%';    //'최'로 시작하는 문자를가진 행(row)을 검색한다

WHERE 조건column LIKE '%진';    //'진'으로 끝나는 문자를가진 행(row)을 검색한다

WHERE 조건column LIKE '%윤%';  //'윤'이 포함된 문자를가진 행(row)을 검색한다

WHERE 조건column LIKE '_윤%';   //두번째 글자가 '윤'으로 시작하는 문자를 가진 행(row)을 검색한다.

WHERE 조건column LIKE '최%진';  // '최' 로시작해서 '진'으로 끝나는 문자를 가진 행(row)을 검색한다.


NULL : 

IS NULL            // NULL인 데이터 갖는 행(row)를 가져온다.

IS NOT NULL     // NULL이 아닌 데이터를 갖는 행(row)을 가져온다.



복합조건 : 

AND : 좌변도 참이고 우변도 참이면 그 조건에 해당하는 행(row)를 가져온다. 

OR : 좌변 또는 우변이 참이면 그에 해당하는 행(row)를 가져온다.

NOT : NOT은 예제로 보는게 편할거 같아서 예제로 표현했습니다


NOT Ex) WHERE NOT country = 'USA' -  USA가 아닌 문자를 가진 행(row)를 가져온다.

반응형

댓글