SUB QUERY (์๋ธ์ฟผ๋ฆฌ)
-- pages๊ฐ ๊ฐ์ฅ ๊ธด ์ฑ
์, ์ ๋ชฉ์ ๋ฌด์์
๋๊น?
-- ํด๊ฒฐ๋ฐฉ๋ฒ 1. ์ ๋ ฌํด์ limit
select title
from books
order by pages desc
limit 1;
-- ํด๊ฒฐ๋ฐฉ๋ฒ 2. sub query(์๋ธ์ฟผ๋ฆฌ)ํ๋ ๋ฐฉ๋ฒ
select title
from books
where pages = (select max(pages) from books);
concat ํจ์
: ๋ฌธ์์ด ์ด์ด์ฃผ๋ ํจ์
-- ๋ฌธ์์ด์ ํฉ์น๋ ํจ์ concat()
-- author_fname, author_lname ์ปฌ๋ผ์ ๋ฌธ์์ด์ ํ๋๋ก ํฉ์ณ์, full_name์ด๋ผ๋ ์ปฌ๋ผ์ ๋ง๋ค๊ณ ์ถ๋ค.
-- as ์๋ต ๊ฐ๋ฅ
select * , concat( author_fname,' ', author_lname) full_name
from books;
-- concat_ws() ํจ์๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ : ์ฒซ๋ฒ์งธ ํ๋ผ๋ฏธํฐ๊ฐ ๋ฌธ์์ด ๋ถ์ผ๋ ์ฌ์ฉํ ๋ฌธ์์ด
-- as ์๋ต ๊ฐ๋ฅ
select * , concat_ws( ' ' , author_fname , author_lname ) as full_name
from books;
-- ์ด๋ฆ ๋๊ฐ๋ฅผ ๋ถ์ฌ์, full_name์ ๋ง๋ค๊ณ ,
-- ์ฑ
์ ๋ชฉ๊ณผ ์ถ๊ฐ๋
๋๋ฅผ ๊ฐ์ด ๋ณด์ฌ๋ฌ๋ผ
select title, released_year, concat_ws( ' ' , author_fname , author_lname ) as full_name
from books;
-- ๊ฐ์ฅ ์ต๊ทผ์ ๋ฐ๊ฐ๋ ์ฑ
3๊ถ์ ์ฐพ์์ ์กฐํํ์์ค
select concat_ws(' - ',title, released_year) as summary
from books
order by released_year desc
limit 3;
-- author_lname์ผ๋ก ์ ๋ ฌํ๋, my favorite author is ๋ฅผ ๋ถ์ฌ์ ์กฐํํ์์ค
select concat('MY FAVORITE AUTHOR IS ',author_lname,'!') yell
from books
order by author_lname asc;
max, min, avg
-- ์ต๋๊ฐ ๊ตฌํ๋ ํจ์ max()
-- ํ์ด์ง์๊ฐ ๊ฐ์ฅ ๋ง์ ์ฑ
์, ๋ชํ์ด์ง ์
๋๊น?
select max(pages)
from books;
-- ์ต์๊ฐ ๊ตฌํ๋ ํจ์ min()
-- ์ถํ๋
๋๊ฐ ๊ฐ์ฅ ๋น ๋ฅธ ์ฑ
์ ๋ช๋
๋ ์
๋๊น?
select *, min(released_year)
from books;
-- ํ๊ท ๊ฐ ๊ตฌํ๋ ํจ์ avg()
-- ๋
๋๋ณ ์ฑ
์ ๊ฐฏ์์ ํ๊ท ํ์ด์ง์๋ฅผ ๋ํ๋ด์ธ์ ๋จ, ๋
๋๋ก ์ ๋ ฌํฉ๋๋ค
select released_year as year , count(released_year) as '# books', avg(pages) as 'avg pages'
from books
group by released_year
order by released_year asc;
'MySQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
MySQL) ๋ ๊ฐ์ ํ ์ด๋ธ ์กฐ์ธํ๊ธฐ (2) | 2024.05.16 |
---|---|
MySQL) ๋ฐ์ดํฐ๋ฒ ์ด์ค DATE(๋ ์ง) ๊ฐ๊ณตํ๋ ํจ์ (0) | 2024.05.16 |
MySQL) Reverse, Char_length, Ifnull ํจ์ ์ฌ์ฉํ๊ธฐ (0) | 2024.05.14 |
MySQL) Substring, Replace, Upper/Lower ํจ์ ์ฌ์ฉํ๊ธฐ (0) | 2024.05.14 |
MySQL) LIKE, CASE, IF, GROUP BY ๊ตฌ๋ฌธ ์ฌ์ฉํ๊ธฐ (0) | 2024.05.14 |