DISTINCT란 중복제거 키워드입니다. SELECT로 DB에서 컬럼을 조회할 때, 중복되는 값을 제거하고 조회할 때 사용합니다. 즉, DISTINCT 키워드를 붙인 필드(컬럼)는 중복 값을 합쳐 한 번만 출력합니다.
-- 테이블에서 필드에 대해 중복제외하여 출력
SELECT DISTINCT 필드 FROM 테이블.
use yh_db;
SELECT * FROM yh_db.books;
insert into books
(title, author_fname, auther_lname, released_year, stock_quantity, pages)
values
('10% Hppir', 'Dan', 'Harris', 2014, 29, 256),
('fake_book', 'Freida', 'Harris', 2001, 287, 428),
('Lincoln In The Baardo', 'George', 'Saunders', 2017, 111, 388);
select * from books;
-- distinct 판다스의 유니크와 비슷함
-- author_lname의 이름을 중복없이 가져오세요.
select distinct author_lname
from books;
-- 작가의 full name을 중복없이 가져오세요.
select distinct author_fname
from books;
-- 작가의 풀네임을 중복없이 가져오세요.
select distinct concat(author_fname,' ', author_lname)
from books;
-- 데이터 정렬 order by
-- 책 제목으로 으로 정렬하세요
select *
from books
order by title;
-- 내림차순 정렬은 desc 이고,
-- 오름차순 정렬은 디폴트이므로, 아무것도 안쓰거나, asc라고 써주면 된다.
-- 책제목 내림차순으로 가져오라
select *
from books
order by title desc;
-- 년도 내림차순으로 정렬하여 년도와 책 제목을 가져오시오.
select released_year, title
from books
order by released_year desc;
-- full name을 내림차순으로 정렬하고, 책 페이지가 많은것부터 가져오세요.
select *, concat(author_fname, ' ', author_lname) as full_name
from books
order by full_name desc, pages desc;
select *, concat(author_fname, ' ', author_lname) as full_name
from books
order by 8 desc, 7 desc;
'SQL(Structured Query Language:)' 카테고리의 다른 글
SQL : CASE문 작성법 (and/or/when/where.......) (0) | 2022.05.16 |
---|---|
SQL : MySQL에서 날짜 데이터를 저장하는 데이터타입/ DATE,TIME,DATETIME,TIMESTAMP (0) | 2022.05.16 |
SQL : Group by / Order by (0) | 2022.05.16 |
SQL : 문자열 검색에 유용한 like 사용법 (0) | 2022.05.16 |
SQL : 페이징(paging)에 사용되는 limit와 offset (0) | 2022.05.16 |