โถ ์ฌ์ฉ์ ์ ์ ๋ณ์
โ
๋ฐฉ๋ฒ 1) SELECT ๋ฌธ์ ์ฌ์ฉํ์ฌ ๋ณ์๋ฅผ ์ค์
mysql> select @t3=5;
โ
๋ฐฉ๋ฒ 2) @variable:=expr ๋ฌธ์ ์ฌ์ฉํ์ฌ ์ค์
mysql> select @t1:=(@t2:=1)+@t3:=4,@t1,@t2,@t3;
โ
โ
โ
โถ ์์คํ ๋ณ์
์์คํ ๋ณ์๋ thread-specific ๋ณ์์ global ๋ณ์๊ฐ ์๋ค.
global ๋ณ์๋ set global ๋ช ๋ น์ผ๋ก, session ๋ณ์๋ set session ๋ช ๋ น์ผ๋ก ๋ณ๊ฒฝํ ์ ์๋ค.
โ
โโ
6-1) ํ์ ํ ์ด๋ธ์์ ํ๋ฒ๊ณผ ์ด๋ฆ, ์๋ฌธ์ด๋ฆ์ ์ถ๋ ฅํ๋ผ. ๋จ, ์๋ฌธ์ด๋ฆ์ ์ฒซ ๊ธ์๋ ๋๋ฌธ์๋ก ๋๋จธ์ง๋ ์๋ฌธ์๋ก ์ถ๋ ฅํ๋ผ.
mysql> select stu_no, stu_name, concat(upper(left(stu_ename,1)), lower(substring(stu_ename,2))) stu_ename
-> from student;
โ
โ
6-2) ์๋ฌธ์ด๋ฆ์ ๊ธธ์ด๊ฐ ์ ํํ 11์์ธ ํ์์ ํ๋ฒ๊ณผ ์๋ฌธ์ด๋ฆ์ ์ถ๋ ฅํ๋ผ.
mysql> select stu_no, stu_ename
→ from student
→ where lengthโ(rtrim(stu_ename)) = 11;
โ
โ
6-3) ๋ฑ๋ก์ผ์๊ฐ 2019๋ 2์ 18์ผ์ธ ํ์์ ํ๋ฒ๊ณผ ๋ฑ๋ก๋ ๋, ํ๊ธฐ, ๋ฑ๋ก์ผ์๋ฅผ ์ถ๋ ฅํ๋ผ.
mysql> select stu_no, fee_year, fee_term, fee_date
→ from fee
→ where fee_date = "2019-02-18";
โ
โ
์ฌํ) ํ ์ด๋ธ ๊ฒฐํฉ
ํ๋ฒ, ์ด๋ฆ, ๋ฑ๋ก๋ ๋, ํ๊ธฐ, ๋ฑ๋ก์ผ์๋ฅผ ์ถ๋ ฅํ๋ผ.
mysql> select s.stu_no, stu_name, fee_year, fee_term, fee_date
-> from student s inner join fee f on s.stu_no = f.stu_no
-> where fee_date = '2019-02-18';
โ
โ
6-4) ํ์ ํ ์ด๋ธ์์ ํ๋ฒ๊ณผ ์ด๋ฆ, ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ๋ฅผ ์ถ๋ ฅํ๋ผ. ๋จ, ์ฌํ์์ ์ ์ธ์ํค๊ณ ์ถ๋ ฅ ์์๋ ํ๊ณผ๋ณ ์ค๋ฆ์ฐจ์, ํ๋ ๋ณ ๋ด๋ฆผ์ฐจ์, ํ๋ฒ ์ค๋ฆ์ฐจ์ ์์์ด๋ค.
mysql> select stu_no, stu_name,
→ concat(substring(birthday, 3), '-', gender, '******') ์ฃผ๋ฏผ๋ฒํธ
→ from student
→ where gender%2 = 1
→ order by dept_code, grade desc, stu_no;
โ
โ
โ
โ
โถ SELECT ๋ช ๋ น๋ฌธ์ ์
select ์ด … from ํ ์ด๋ธ where ์กฐ๊ฑด group by ์ด having group by ์กฐ๊ฑด order by ์ดโ
โ
โ
์์ 7-1) ๋ฑ๋ก ํ ์ด๋ธ("FEE")์์ ์ฅํ๊ธ์ ์ง๊ธ ๋ฐ์ ํ์์ ํ๋ฒ๊ณผ ์ฅํ๊ธ ๋ด์ญ์ ์ถ๋ ฅํ๋ผ.
mysql> select stu_no, jang_total
→ from fee
→ where jang_total > 0;
โ
โ
์์ 7-2) ๋ฑ๋ก ํ ์ด๋ธ("FEE")์์ ํ๊ธ์ 1,000,000 ์ด์ ์ง๊ธ ๋ฐ์ ํ์ ์ค์์ 2ํ ์ด์ ์ง๊ธ๋ฐ์ ํ์์ ํ๋ฒ๊ณผ, ์ง๊ธ๋ฐ์ ํ์๋ฅผ ํ๋ฒ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ถ๋ ฅํ๋ผ.
mysql> select stu_no, count(*)
→ โfrom fee
→ where jang_total > 1000000
→ group by stu_no
→ having count(*) > 1
→ order by stu_no desc;
โ
โ
*FROM ์
์ด ํ ์ด๋ธ์์๋ง ์์ ์ ์ํํ๋ค๋ ๋ป
โ
*WHERE์
์กฐ๊ฑด
โ
*GROUP BY์
๊ทธ๋ฃน๋ณ๋ก ๊ฒ์์ ํ ๋ ์ฌ์ฉ
group by์ ์ ์ฌ์ฉํ ๋ ๊ทธ๋ฃน ํจ์๋ฅผ ๊ฐ์ด ์ฌ์ฉํด์ผํ๋ค
โ
*HAVING์
having์ ๊ณผ where์ ์ ์๋ก ๋น๊ตํ ์ ์๋๋ฐ, ๊ทธ ์ฐจ์ด์ ์ where์ ์ from์ ์์ ์์ฑ๋ ์ค๊ฐ ํ ์ด๋ธ์์ ๋์ํ๊ณ , having์ ์ group by์ ์์ ์์ฑ๋ ์ค๊ฐ ํ ์ด๋ธ์์ ๋์ํ๋ค.
์ํ๋ ๊ณผ์ ์ ๋์ผํ๋ค.
having์ ์ ํฌํจ์์ผฐ์ ๋ SQL์ ์กฐ๊ฑด์ ์ฐธ์กฐํ์ฌ ํ์ ์ ํํ๋ค.
โ
*SELECT์
์ต์ข ๊ฒฐ๊ณผ ํ ์ด๋ธ์ ํํ๋ ์ด์ ์ง์ ํ๊ธฐ ์ํด์ ์ฌ์ฉ๋๋ค.
๋ค์ ๋งํ๋ฉด select์ ์ ์ด์ ์ ํํ๋ ๊ฒ.
โ
*ORDER BY์
๋ง์ง๋ง์ผ๋ก ์ํ๋๋ ์ ๋ก ์ค๊ฐ ๊ฒฐ๊ณผ ํ ์ด๋ธ์ ๋ด์ฉ์ ์ํฅ์ ์ฃผ์ง ์๋๋ค.
๊ทธ๋ฌ๋ ๋ง์ง๋ง๊น์ง ์ ํ๋ ํ์ ์ ๋ ฌํ๋ค.
'Data Base > MySQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
MySQL 16๋ฒ์งธ์์ (0) | 2021.02.08 |
---|---|
MySQL 15๋ฒ์งธ์์ (0) | 2021.02.08 |
MySQL 13๋ฒ์งธ์์ (0) | 2021.02.08 |
MySQL 12๋ฒ์งธ์์ (0) | 2021.02.08 |
MySQL 11๋ฒ์งธ์์ (0) | 2021.02.08 |
๋๊ธ