오늘은 WHERE 조건절을 소개해드릴께요.
SELECT 의 결과를 WHERE 로 원하는 일부분만 조회하는 것이 가능합니다.
같은 결과를 가져오더라도 where절을 간결하고 성능을 고려해서 짜는 것이 바로 SQL 실력이랄까요ㅎ
기본 Syntax는 이렇습니다.
SELECT * | { [DISTINCT] column | expression [alias], ... }
FROM table
WHERE condition(s) ;
select employee_id, last_name, job_id, department_id
from employees 의 결과에서
where department_id = 90 조건으로 결과조회에 제한을 걸었습니다.
영문 데이터를 조건절에 사용하실때 주의하실 점이있어요,,
키워드나 컬럼명은 대소문자를 구분하지 않고 사용할 수 있지만
데이터! 데이터는 대소문자를 구분하기때문에 'whalen'으로 조회하면 결과가 나오지 않아요~ 꼭 알아두세요~
비교 대상 값이 number 타입일 경우 다른 언어들과 마찬가지로 여러 Operator들을 사용할 수 있어요,
=, >, <, >=, <= 을 사용할 수 있죠 ㅎ
그리고 하나 더!!
같지 않다,, 를 표현하는 두가지! !=, <>, ^= , 어느 것을 사용해도 결과는 같게 나옵미다 ㅎ
오라클에서는 salary > 2000 && salary < 3000 이런 식의 연산을 허용하지 않아요~
& 이 친구는 다른 곳에 쓰임이있거든요 킄킄
그래서 조건 A 와 조건 B의 사이 값을 조회하려면 BETWEEN A AND B 를,, 제공하죠 .
주의할 점은 미만과 초과가 아닌 이하와 이상,, 조건 값을 포함하는 거라능염~
IN 연산자는 (괄호)엔에 만족하는 모든 값을 조회해 줍니다.
예제처럼 manager_id 가 100, 101, 201인 모든 사람을 보여줍니다.
새롭게 보이는 LIKE 연산자와 %가 있어요,,
LIKE는 말그대로 비스~읏한 값을 보여주세요란 뜻이고 %는 비스~읏한 값을 표현하죠 ㅋ
난 테이블에 존제하는 모든 김씨들 명단을 알고싶어!! 라는 주문이 떨어졌을때,,
where 이름 LIKE '김%'; 라고 주문하면 되겠죠??
음,,
where 이름 = '김%' 이라고 조건을 주면,, 김%라는 이름을 찾아요,,ㅋㅋ = 과 LIKE의 차이죠 ㅎ
성은 상관없고 ''두''번째 글짜가 ''봉''인 사람이 알고싶네염,, 라고 하면
LIKE '%봉%' 이라고 잘못 생각하기 쉬워요!
%는 앞뒤에 몇글짜든 상관없이 ''봉''이 들어간 데이터를 찾아주거든요 ㅎ
그래서 언더바 '' _ '' 를 사용해서 자릿수를 표현해요,, 한개면 한자리 ,, 두개면 두자리,,
LIKE '_봉%' 으로 조건을 주면! 두번째 글짜가 봉인 사람들이 검색되죠.,,
NULL 값을 조회할때 쓰는 조건이에요,
이 조건도 마찬가지로 = 으로 조회하면 조회가 되지 않아요!!
'Lecture > SQL & Oracle' 카테고리의 다른 글
[SQL 기본만 알아도 할껀 다한다.] Oracle 11g Express Edtion 설치 (2) | 2012.07.02 |
---|---|
[본격 게시판짜기 Part1.5 JSP > Oracle] 게시판 DB 테이블 생성 (22) | 2012.06.26 |
[3주차][1주일 10분만 따라하는 SQL] 기본 select 사용 (0) | 2012.05.20 |
[2주차][1주일 10분만 따라하는 SQL] 예제 계정 접속하기 (0) | 2012.05.12 |
[1주차] 1주일 10분만 따라하는 SQL (3) | 2012.05.04 |