: 레코드(행)을 검색한다.
: 원하는 레코드만 추출 > 결과셋 생성
[WITH <Sub Query>]
SELECT column_list
FROM table_name
[WHERE search_condition]
[GROUP BY group_by_expression]
[HAVING search_condition]
[ORDER BY order_expression [ASC|DESC]]
이 포스팅에서 살펴볼 Query 3문장
3. SELECT column_list
원하는 컬럼을 지정 > 해당 컬럼만 가져와라.
1. FROM table_name
데이터 소스, 어떤 테이블로부터 테이터를 가져와라.
2. WHERE search_condition
조건 지정 (보고 싶은 행만 가져오기) > Selection
💡FROM 실행 후 WHERE절 실행 마지막 SELECT절
select
*
from tblCountry
where capital = '서울';
select
*
from tblCountry
where capital <> '서울';
: where절에서 사용 > 조건으로 사용
: 컬럼명 between 최솟값 and 최댓값
: 범위 조건
: 가독성 향상
: 최솟값, 최댓값 포함 o
select * from tblinsa where basicpay >=1000000 and basicpay <= 1200000;
select * from tblinsa where basicpay between 1100000 and 1320000; -- 앞쪽이 최소, 뒷쪽이 최대 (<=, >= /basic style)
: where절에서 사용 > 조건으로 사용
: 열거형 조건
: 컬럼명 in (값, 값, 값)
: 가독성 향상
--tblInsa. 개발부
select * from tblInsa where buseo = '개발부' or buseo = '총무부' or buseo = '홍보부';
select * from tblInsa where buseo in ('개발부', '총무부', '홍보부');
-- 서울 or 인천 거주 + 과장 or 부장 + 급여(250~300)
select * from tblInsa
where city in ('서울', '인천')
and jikwi in ('과장', '부장')
and basicpay between 2500000 and 3000000;
: where절에서 사용 > 조건으로 사용
: 패턴 비교
: 컬럼명 like '패턴 문자열' (정규표현식과 같은 느낌)
: 정규식의 초간단 버전
패턴 문자열의 구성요소
1. _ : 임의의 문자 1개 (정규식 .)
2. % : 임의의 문자 N개, 0~무한대 (정규식 .*) , 최대 표현수 1개 > %% 안씀
출현횟수 조정 불가능
-- 김oo
select name from tblInsa where name like '김__';
-- o길o
select name from tblInsa where name like '_길_';
📌 글자수를 '_' 개수로 맞춰줘야 함!!
-- 김으로 시작하는 사람
select name from tblInsa where name like '김%';
-- 수가 포함된 모든 사람
select name from tblInsa where name like '%수%';
: 컬럼값(셀)이 비어있는 상태
: null 상수 제공
: 대부분의 언어에서 null은 연산의 대상이 될 수 없다. (*)
null 조건
: where절에서 사용
: 컬럼명 is null
: 컬럼명 is not null
-- 인구수가 미기재된 나라?
select * from tblCountry where population = null; --에러 없지만 에러 (검사하지 못함)
select * from tblCountry where population is null;
-- 인구수가 기재된 나라
select * from tblCountry where population <> null; --에러 없지만 에러 (검사하지 못함)
select * from tblCountry where not population is null;
select * from tblCountry where population is not null; --자주 사용