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;
-- limit와 offset
-- 몇개씩 끊어서 가져오시오.
-- 책테이블의 데이터를 3개만 가져오시오(방법1)
select *
from books
limit 3;
-- 최신책을 기준으로 3개만 가져오시오. (방법2)
select *
from books
order by released_year desc
limit 3, 3; -- 하나만 쓰면 갯수, 왼쪽이 오프셋, 오룬쪽이 갯수
select *
from books
order by released_year desc
limit 6, 3 ;
-- 최신책을 기준으로 10번째 책부터 끝까지 가져오시오.
select *
from books
order by released_year desc
limit 9, 1999999999;
-- 문자열 포함 (Serach) : like 키워드
-- 내가 찾고자 하는 문자열이, 컬럼에 포함되어 있는지 확인하는 방법.
-- 책 제목에 the 라고 들어있는 책마 가져오시오.
select *
from books
where title like the;
-- the로 시작하는 책만 가져오시오.
select *
from books
where title like '%the' ;
-- author_fname애 da라고 들어있는 작가의
-- 책 제목, author_fname, 페이지수를 가져오시오.
select title, author_fname, pages
from books
where author_fname like '%da%' ;
-- 언더스코어 기호를 이용한 쿼리문.
-- 언더스코어 갯수만큼, 숫자가 2자리 수인지 3자리수인지 자리수를 나타낸다.
select *
from books
where stock_quantity like '___' ;
-- 실습 첫번째 답
select title from books where title like '%stories%';
select title, pages from books order by pages desc limit 1;
select concat(title, ' - ', released_year) as summary from books order by released_year desc limit 3;
select title, author_lname from books where author_lname like '% %';
select title, released_year, stock_quantity from books order by stock_quantity limit 3;
select title, author_lname from books order by author_lname, title;
select concat('My favorite is ', author_lname) from books order by author_lname;
-- 실습 2번째 답
select * from books where released_year < 1980;
select * from books where author_lname like 'Chabon' or author_lname like 'Eggers';
select * from books where author_lname like 'Lahiri' and released_year > 2000;
select * from books where pages >= 100 and pages <= 200;
select title from books where author_lname like 'C%' or author_lname like 'S%'; alter