SQL 2일차 06-08

박철민·2021년 7월 22일
0

제로베이스SQL100제

목록 보기
3/19

수강 날짜 20.07.20

06 강의명 : ORDER BY문
07 강의명 : SELECT DISTINCT문
08 강의명 : WHERE문

ORDER BY 문

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 문

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 절

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;

결과

profile
취준좀비 컴공

0개의 댓글