반응형
~인것 가져오기 : where, and, or, between…and, in(), case when …then.. else… end
-- 오늘 가장 중요한 이야기.
-- ~인것 가져오기 -- 연도가 2017인 데이터를 가져오시오 select * from books where released_year = 2017; select * from books where released_year = 2010; -- 년도가 2017년이 아닌 데이터만 가져오시오. select * from books where released_year != 2017; -- author_lname이 Harris가 아닌 데이터만 가져오시오. select * from books where author_lname != 'Harris'; select * from books; -- 책 제목이 w로 시작하는 책을 가져오시오. select * from books where title like 'w%'; -- 책 제목이 w로 시작하지 않는 책을 가져오시오. select * from books where title not like 'w%'; -- 년도가 2000년보다 큰 데이터만 가져오세요. select * from books where released_year > 2000; -- 년도가 2000년보다 큰 데이터만 가져오되, 최신순으로 가져오세요. select * from books where released_year > 2000 order by released_year desc; -- author_lname 이름이 'Eggers'이고, 년도는 2000년 이후인 데이터를 가져오시오. select * from books where author_lname = 'Eggers' and released_year > 2000; -- author_lname 이름이 'Eggers'이고, 년도는 2000년 이후이며, -- 제목에 novel 이라고 들어간 데이터를 가져오세요. select * from books where author_lname = 'Eggers' and released_year > 2000 and title like '%novel%'; -- author_lname 이름이 'Eggers'이고, 출간년도가 2010보다 큰 책을 가져오시오. select * from books where author_lname = 'Eggers' or released_year > 2010; |
~와/과~ 사이/~이거나의 데이터 가져오기: between~and~, in()
-- 무엇과 무엇 사이의 데이터를 가져올 때!!(포함) -- 년도가 2004년부터 2015년 사이의 책 데이터를 가져오시오. select * from books where released_year >= 2004 and released_year <=2015; select * from books where released_year between 2004 and 2015; -- author_lname이 'Carver'이거나 'Lahiri' 이거나 'Smith'인 데이터만 가져오시오 select * from books where author_lname = 'Carver' or 'Lahiri' or 'Smith'; select * from books where author_lname in ('Carver','Lahiri','Smith'); |
새로운 컬럼 : case when ~then~else~end
- case ~ end 전까지가 새로운 컬럼이다.
-- 년도가 2000년 이후에 나온 책들은 Modern 이라고 하고, -- 그렇지 않는 책들은 old라고 새로운 컬럼을 만들어서 가져오세요. -- case ~ end 전까지가 새로운 컬럼이다. select * , case when released_year >= 2000 then 'Modern' else 'Old' end as Genre from books; -- stock_quantity 가 0~50사이면, *(별표 1개) -- stock_quantity가 51~100사이면, **(별표 2개) -- stock_quantity가 그 회에는 ***(별표 3개) select *, case when stock_quantity between 0 and 50 then '*' when stock_quantity between 51 and 100 then '**' else '***' end as stars from books; |
반응형
'프로그래밍 언어 > MySQL' 카테고리의 다른 글
[MySQL] Foreign key 생성 (0) | 2022.05.17 |
---|---|
[MySQL] if() 함수, ifnull() 함수 , 실습 풀이 (0) | 2022.05.17 |
[MySQL] 쿼리문으로 테이블 생성 및 현재 시간 기록 설정 (0) | 2022.05.17 |
[MySQL] 시간 계산: datediff(), date_add(), interval + 시간 (0) | 2022.05.16 |
[MySQL] 시간을 처리하는 방법:curdate(), curtime(), now() (0) | 2022.05.16 |