단어 포함 여부 간단 검색: like
-- 문자열 포함 (Search) : like 키워드
-- 내가 찾고자 하는 문자열이, 컬럼에 포함되어있는지 확인하는 방법
-- 포함하고 있는 단어, (간단한 검색기능)
-- the%: the 오른쪽에 무슨 문자가 와도 상관없다 -> the로 시작하는 데이터 검색
-- %the: the 왼쪽에 무슨 문자가 와도 상관없다 -> the로 끝나는 데이터 검색
-- %: 무슨 문자가 와도 상관없다. 라는 뜻
-- %the%: 앞 뒤 무슨 문자가 와도 상관없으니, the가 포함된 데이터 검색
-- 대소문자 구분할 필요없이 알아서 본인이 찾아준다.
-- 책 제목에 the라고 들어있는(%) 책만 가져오시오. select * from books where title like '%the%' ; -- 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%'; -- 책 제목에 퍼센트 기호가 있는 책을 가져오시오. select * from books where title like '%\%%'; |
숫자 자리수 표시: 언더스코어(__)
-- 언더스코어(___) 기호를 이용한 쿼리문
-- 언더스코어는 숫자를 의미한다.
-- 언더스코어 3개: 3자리 숫자로 되어있는 것을 가져와라.
-- 언더스코어 갯수만큼, 숫자가 2자리수인지 3자리수인지, 자리수를 나타낸다.
select * from books where stock_quantity like '___'; '(032)305-8126' like '(___)___-____'; -- 위에는 문법과 맞지는 않지만(컬럼 넣어야함), 저런식으로 데이터를 가져올 수 있다. |
-- 실습:DB 실습2
Q) 제목에 stories가 포함된 데이터를, 제목만 조회하시오.
select title from books where title like '%stories%'; |
Q) 페이지수가 가장 긴 책을 찾아서, 제목과 페이지수를 조회하시오.
select title,pages from books order by pages desc limit 1; |
Q) 가장 최근에 발간된 책 3권을 찾아서, 책의 제목과 발간년도를 조회하되, 다음처럼 하이픈(-)을 붙여서 조회하시오. (컬럼명은 summary)
select concat(title, '-', released_year) as summary from books order by released_year desc limit 3; |
Q) author_lname에 공백(‘ ’)이 들어있는 사람의, 책 제목과 author_lname을 조회
select title, author_lname from books where author_lname like '% %'; |
Q) 가장 stock_quantity가 적은 책 3권의, title, year, stock_quantity를 조회하시오.
select title, released_year,stock_quantity from books order by stock_quantity,title limit 3; |
Q) author_lname과 title로 정렬한후, title과 author_lname을 조회하시오.
select title, author_lname from books order by author_lname, title; |
Q) author_lname으로 정렬하되, “My favorite author is’를 붙여허 조회하시오.
select upper(concat('My favorite author is ', author_fname, ' ',author_lname,' !')) as yell from books order by author_lname; |
'프로그래밍 언어 > MySQL' 카테고리의 다른 글
[MySQL] 최소값/최대값/평균/총합: min(), max(), avg(),sum() (0) | 2022.05.16 |
---|---|
[MySQL] 갯수 세기,카운트 함수: count()/ ~별로 그룹묶기: group by (0) | 2022.05.16 |
[MySQL] 정렬하기: order by/ 몇 행의 데이터 가져오기: limit (0) | 2022.05.16 |
[MySQL] 중복없이 데이터 가져오기: distinct (0) | 2022.05.16 |
[MySQL] concat, concat_ws, substring, substr, replace, reverse, char_length, upper, lower (0) | 2022.05.15 |