distinct로 고유한 값을 가져올수 있다.
author_lname의 이름을 중복없이 가져오자.
in:
select distinct author_lname
from books;
out:

작가의 full name을 중복없이 가져오자.
in:
select distinct concat(author_fname,' ',author_lname)
from books;
out:

SQL에서는 order by로 데이터들을 정렬할수있다.
in:
select *
from books
order by title;
out:

# order by는 원하는 데이터를 가져온 다음 마지막에 써줘야 한다.
order by 뒤에 desc 를 입력해서 내림차순 정렬을 해줄수 있다.
in:
select *
from books
order by title desc;
out:

# 오름차순은 디폴트로 설정되어 있으며 따로 asc를 입력해도 오름차순 정렬이 된다.
lname은 오름차순으로, fname은 내림차순으로 정렬하자.
in:
select * from books
order by author_lname asc, author_fname desc;
out:

order by의 대상을 컬럼 인덱스를 사용하여 지정할수 있다.
in:
select * , concat(author_fname ,' ', author_lname) as full_name
from books
order by 8 desc, 1 desc;
out:

# 8번째 컬럼인 full_name을 기준으로 내림차순하고 그 다음으로 1번째 컬럼인 id를 기준으로 내림차순 했다.
select를 할때 limit를 사용하면 어디까지 나타낼지 설정할수있다.
books 테이블의 데이터 3개만 가져오자.
in:
select *
from books
limit 3;
out:

# 테이블의 맨 위에서 부터 가져온다.
책 출간연도를 사용하여 최신책 기준으로 3개만 가져오자.
in:
select *
from books
order by released_year desc
limit 3;
out:

여기서 limit와 3 사이에 오프셋 추가하여 어디서부터 데이터를 가져올지 설정할수 있다.
in:
select *
from books
order by released_year desc
limit 1,3;
out:

# 첫번째 숫자로 시작점(offset), 두번째 숫자오 가져오고싶은 갯수를 설정한다.
리미트와 오프셋을 사용하여 사용자에게 페이지를 나눠서보여주는 paging을 한다.
사용자에게 세개씩 나눠서 보여준다고 할떄 3번째 페이지를 보여주려면
in:
select *
from books
order by released_year desc
limit 6,3;
out:

최신책을 기준으로 10번째 책부터 끝까지 가져오자
in:
select *
from books
order by released_year desc
limit 9,99999999;
out:

# 지금까지 배운것들만 이용하면 큰수를 넣어서 보여줘야 한다.
like를 사용하여 찾고자 하는 문자열이 컬럼에 포함되어있는지 확인할수 있다.
책 제목에 the가 포함된 책만 가져오자.
in:
select *
from books
where title like '%the%';
out:

# '%'를 사용하면 % 앞이나 뒤에 문자가 있어도 가져온다.
# 'The%'를 입력하면 the로 시작하는 책만 가져올수 있으며
# '%The'를 입력하면 the로 끝나는 책만 가져올수 있다.
like에 언더스코어 (_) 를 이용하여 숫자 데이터를 가져오자.
in:
select *
from books
where stock_quantity like '___';
out:

# 언더스코어를 세개 써서 세자리 숫자들을 가져왔다.
책제목에 퍼센트기호가 있는책을 가져오자.
in:
select *
from books
where title like '%\%%';
out:

# 역슬래쉬'\'와 퍼센트 기호'%'를 사용해서 가져올수 있다.
댓글