where
where은 내가 보고자 하는 내용에 해당하는 조건을 걸 때 사용한다
조건에 부합하는 레코드만 추출되어 결과에 나오게 할 수 있다.
예시
-- 테이블 생성
CREATE TABLE tblcountry
(
name VARCHAR2(30) NOT NULL PRIMARY KEY, -- 국가명
capital VARCHAR2(30) NULL, -- 수도
population NUMBER NULL, -- 인구수
continent VARCHAR2(2) NULL, -- 대륙(AS, NA, SA..)
area NUMBER NULL -- 면적
);
INSERT INTO tblCountry VALUES ('대한민국','서울',4405,'AS',10);
INSERT INTO tblCountry VALUES ('중국','베이징',120660,'AS',959);
INSERT INTO tblCountry VALUES ('일본','도쿄',12461,'AS',37);
INSERT INTO tblCountry VALUES ('미국','워싱턴',24963,'SA',936);
INSERT INTO tblCountry VALUES ('영국','London',5741,'EU',24);
INSERT INTO tblCountry VALUES ('이집트','카이로',5969,'AF',99);
INSERT INTO tblCountry VALUES ('오스트레일리아','Canberra',1787,'AU',768);
INSERT INTO tblCountry VALUES ('칠레','산티아고',1339,'SA',75);
INSERT INTO tblCountry VALUES ('우루과이','몬테비디오',317,'SA',17);
INSERT INTO tblCountry VALUES ('아르헨티나','부에노스아이레스',3388,'SA',278);
INSERT INTO tblCountry VALUES ('인도네시아','자카르타',19134,'AS',191);
INSERT INTO tblCountry VALUES ('네덜란드','암스테르담',1476,'EU',4);
INSERT INTO tblCountry VALUES ('케냐','나이로비',NULL,'AF',58);
INSERT INTO tblCountry VALUES ('벨기에2','브뤼셀',1012,'EU',3);
-- select 문
select
*
from tblCountry
where capital <> '서울';
이게 원본
조건을 걸었을 때 결과이다.
즉 where문에 capital 에 서울이 들어가지 않는 항목들을 출력하라는 조건이 동작하여 대한민국이 출력이 되지 않았다.
이렇게 문자도 가능하며, 연산 (population / area >= 원하는 값 ) 을 where 절에 넣어 부합하는 데이터만 꺼낼 수 도 있다 .
between
하나의 컬럼에 범위를 지정할 떄 사용한다
--테이블은 앞에 말한 코드와 같음 .
-- select문
select
*
from tblCountry
where population between 10000 and 20000;
이렇게 부합하는 결과만 출력이 된다 .
in
하나의 컬럼에서 특정 값들만 골라 가져올 때 사용한다.
in (조건,조건); 이런식으로 진행하게 된다 .
예시
--테이블은 앞에 말한 코드와 같음
--select문
select
*
from tblCountry
where capital in ('서울','도쿄');
이렇게 capital에 서울 또는 도쿄가 들어 있는 값만 추출한다.
like
정규식 표현을 쓸 땐 like를 사용해야 하며 ,
_ 는 문자가 1개 존재한다 , %는 문자가 0개 이상 존재한다라는 의미이다.
예시
--테이블은 앞에 말한 코드와 같음
--select 문
select
*
from tblCountry
where capital like '%이%';
capital 에 이 라는 글자가 들어가면 출력 되도록 작성하였고 해당하는 결과이다.
null
값이 null로 비어있는 경우를 찾기 위해선 is null
null이 아닌 경우를 찾기 위해선 is not null 을 사용하면 된다
--테이블은 앞과 같습니다.
-- select 문
select
*
from tblCountry
where population is null;
population에 null 값을 가지는 데이터만 출력이 되었다 .
'SQL(oracle)' 카테고리의 다른 글
| SQL의 Order by (정렬) (2) | 2024.03.04 |
|---|---|
| SQL의 Column (컬럼) (0) | 2024.03.04 |
| SQL의 연산자 (2) | 2024.02.22 |
| SQL의 table, insert, select (2) | 2024.02.20 |
| SQL 자료형 (0) | 2024.02.20 |