수강 날짜 20.07.20
06 강의명 : ORDER BY문
07 강의명 : SELECT DISTINCT문
08 강의명 : WHERE문
SELECT문에서 가져온 데이터를 정렬하는데 사용한다. 업무 처리상 매우 중요한 기능이다.
ORDER BY 문법
ASC => 오름차순 (생략 가능)
DESC => 내림차순
오름 차순으로 쿼리
select FIRST_NAME, LAST_NAME from customer order by first_name asc;
쿼리 결과
오름차순 정렬 ASC는 생략이 가능하다.
내림 차순으로 쿼리
select FIRST_NAME, LAST_NAME from customer order by first_name desc;
쿼리 결과
두가지 조건으로 정렬하기
select FIRST_NAME, LAST_NAME from customer order by first_name asc , last_name desc;
쿼리 결과
order by 기준 생략
select FIRST_NAME, LAST_NAME from customer order by asc , desc;
쿼리 결과
다음과 같이 정렬 기준 속성이 생략되면 기준의 순서는 from의 순서에 따라 결정이 된다.
BUT 코드의 가독성이 떨어지니까 하면 안 된다.
SELECT 시 DISTINCT를 사용하면 중복 값을 제외한 결과값이 출력된다. 즉 같은 결과의 행이라면 중복을 제거할 수 있다.
코드
--테이블 내리기 drop table T1; --테이블 만들기 create table T1 (ID SERIAL not null primary key , BCOLOR VARCHAR , FCOLOR VARCHAR); --값 넣기 insert into T1 (BCOLOR, FCOLOR) values ('red', 'red') ,('red', 'red') ,('red', NULL) ,(NULL, 'red') ,('red', 'green') ,('red', 'blue') ,('green', 'red') ,('green', 'blue') ,('green', 'green') ,('blue', 'red') ,('blue', 'green') ,('blue', 'blue') ; --커밋하여 데이터베이스 저장 commit;
테이블 생성 확인
코드
select distinct BCOLOR from T1 order by bcolor;
DISTINCT ON : 어떠한 것을 기준으로 하여 중복 제거함
코드select distinct ON (BCOLOR) bcolor, fcolor from T1 order by bcolor, fcolor ;
결과
where 절은 집합을 가져올 때 어떤 집합을 가져올 것인지에 대한 조건을 설정하는 절이다.
조건은 등호와 집합을 이용하여 처리를 한다.
쿼리 : 이름이 'Jamie'인 손님을 찾아 성과 이름을 출력
--where select last_name,first_name from customer where first_name = 'Jamie';
결과
쿼리 : 이름이 'Jamie'이고 성이 'Rice'인 사람 조회
select last_name, first_name from customer where first_name = 'Jamie' and last_name = 'Rice';
결과
쿼리 : 양이 1이하 8이상인 급여를 조회하라
select customer_id , amount , payment_date from payment where amount <= 1 or amount >= 8;
결과