๋ฐ์ํ Data Base/MySQL27 [MySQL] DB ์ ๊ทํ Q) ๋ค์ ํ ์ด๋ธ์ ์ด๋ค ์ ๊ทํ๋ฅผ ์๋ฐํ์๋๊ฐ ? ์ฃผ๋ฌธ๋ฒํธ ์ด๋ฆ ์ฃผ์ ์ ํ๋ฒํธ ์ํ1 ๊ฐฏ์ ๊ฐ๊ฒฉ ์ํ2 ๊ฐฏ์ ๊ฐ๊ฒฉ M20200801 ํ๊ธธ๋ ๋๊ตฌ 010-1111-1111 ๋ง์คํฌ 10 500 ๋ณผํ 30 300 M20200802 ์ด์์ ์์ธ 010-2222-2222 ๋ ธํธ๋ถ 1 2000000 ๋ง์ฐ์ค 1 15000 M20200803 ํ๊ธธ๋ ๋๊ตฌ 010-1111-1111 ์ฒญ๋ฐ์ง 2 100000 โ โ โ M20200804 ๊น์ ์ ๋ถ์ฐ 010-3333-3333 ํฅ์ 2 50000 ์๊ณ 1 70000 โ โ A) ์ 1 ์ ๊ทํ ์๋ฐ โ create table order_tb (order_no varchar(9), name varchar(10), addr varchar(45), phone varchar(13), pri.. 2021. 2. 9. MySQL ๋ฌธ์ *ํ ์ด๋ธ ์์ฑํ๊ธฐ mysql> create table product( -> pro_code varchar(5) not null, -> pro_name varchar(10), -> pro_price int(5) not null default 0, -> create_day date, -> primary key (pro_code) -> )engine = innoDB; โโ โ *ํ ์ด๋ธ ์ด์ด๋ฆ ๋ณ๊ฒฝ mysql> alter table product change pro_price ์ํ๊ฐ๊ฒฉ int(5) not null default 0; โ โ *ํ ์ด๋ธ ์ด ์ถ๊ฐ mysql> alter table product add pro_etc varchar(30); โ โ *ํ ์ด๋ธ ์ด ์ญ์ ํ๊ธฐ mysql> alter table .. 2021. 2. 9. MySQL 25๋ฒ์งธ์์ ์์ 18-6) ๋ทฐ ํ ์ด๋ธ(V_AGES)์์ ์ฌํ์ ์ค 21์ธ ์ด์์ด๊ณ , 2018๋ ~2020๋ ์ ์ ํํ ํ์์ ๊ตฌํ์ฌ๋ผ. A) mysql> select * from V_AGES -> where age > 20 -> and ibhak_year between '2018' and '2020'; โ โ ์์ 18-7) ๋ทฐ ํ ์ด๋ธ(V_AGES)๋ฅผ ์ญ์ ํ๋ผ. A) โ โ โถ ๋ทฐ์ ์ด ์ด๋ฆ โ ์์ 18-8) ์ง์ฃผ์๊ฐ ์์ธํน๋ณ์์ธ ํ์์ ํ๋ฒ, ์ด๋ฆ, ์ฐํธ๋ฒํธ, ํ์ฃผ์๋ก ๊ตฌ์ฑ๋ ๋ทฐ ํ ์ด๋ธ(V_ADDRESS)๋ฅผ ์์ฑํ๋ผ. A) โ โ ์์ 18-9) ๋ฑ๋ก๊ธ ์ด์ก๋ณ๋ก ํ์ ์ธ์ ์ ํํฉ์ ์์ฑํ๋ ๋ทฐ ํ ์ด๋ธ V_FEETOTAL๋ฅผ ์์ฑํ๋ผ. A) โ ์์ 18-10) ๋ฑ๋ก๊ธ ์ด์ก๋ณ๋ก ํ์ ์ธ์ ์ ํํฉ์ ์์ฑํ ๋ทฐ ํ ์ด๋ธ.. 2021. 2. 9. MySQL 24๋ฒ์งธ์์ (๋ฐ์ดํฐ ๋ณ๊ฒฝ๋ฌธ์ ๋ผ์ ๊ฒฐ๊ณผ๋ ์บก์ณ์ํจ) โ 16-1) ํ์ฌ ํ๋ ์ด 3ํ๋ ์ด๋ฉด 2019๋ 1ํ๊ธฐ์ ๋ฑ๋ก ํ ์ด๋ธ์ ์์ ๋ฃ(fee_price)์ 100000์, ๋ฑ๋ก๊ธ์ด์ก(fee_total), ๋ฉ๋ถ์ด์ก(fee_pay)์ ๊ฐ๊ฐ 100000์์ ๊ฐ์ฐํ์ฌ ๋ฐ์ดํฐ ๊ฐ์ ๋ณ๊ฒฝํ๋ผ. A) mysql> update fee -> set fee_price = fee_price + 100000, -> fee_total = fee_total + 100000, -> fee_pay = fee_pay + 100000 -> where fee_year = 2019 and fee_term = 1 and stu_no in -> (select stu_no from student where grade = 3); โ โ 16-2) ๋ฑ๋ก ํ ์ด๋ธ์์.. 2021. 2. 9. MySQL 23๋ฒ์งธ์์ โถ SELECT ๋ช ๋ น๋ฌธ : ์กฐ์ธ(JOIN) โ *์กฐ์ธ(JOIN) ํ ์ด๋ธ์ ์กฐ์ธ์์ ํ ์ด๋ธ์ ์๋ ํ์ ์กฐํฉ๋์ด ๊ฒฐ๊ณผ ํ ์ด๋ธ์ ์์ฑํ๋ค. SELECT ๋ช ๋ น๋ฌธ์ FROM ์ ์ ์ ์ด๋ ๋ ๊ฐ์ ํ ์ด๋ธ ๋ช ์ธ๊ฐ ์๊ณ , WHERE ์ ์๋ ์๋ก ๋ค๋ฅธ ํ ์ด๋ธ์ ์ด์ ๋น๊ตํ๋ ์กฐ๊ฑด์ด ์ ์ด๋ ํ๋๊ฐ ์๋ค๋ฉด ์ด๋ฅผ ์กฐ์ธ(JOIN)์ด๋ผ ํ๋ค. โ โ ์์ 15-1) ํ์ ํ ์ด๋ธ์ ์กด์ฌํ๋ ํ์๋ค ์ค์์ ์์ง ๋ฑ๋ก์ ํ์ง ๋ชปํ ํ์์ด ์๋ค. ๊ฐ ํ์์ ๋ํ์ฌ ํ๋ฒ, ์ด๋ฆ, ๋ฑ๋ก๋ ๋, ํ๊ธฐ, ํ์์ด ๋ฑ๋กํ ๋ฉ์ ๊ธ ์ด์ก์ ์ถ๋ ฅํ๋ผ.โ A) mysql> select student.stu_no, stu_name, fee_year, fee_term, fee_pay -> from student inner join fee -> on stud.. 2021. 2. 9. MySQL 22๋ฒ์งธ์์ โถ ๋ถ์ ์ง์์ด ๋ถ์ ์ง์์ด๋(subquery)๋ SELECT ๋ช ๋ น๋ฌธ์ ์กฐ๊ฑด์ ์๋ SELECT ๋ช ๋ น๋ฌธ์ด๋ค. ๋ถ์ ์ง์์ด๋ฅผ ๋ค๋ฅด๊ฒ ๋งํ๋ฉด ๋ด๋ถ ์ ํ๋ฌธ์ด๋ผ ํ ์ ์๋ค. โ ์กฐ๊ฑด) 1. ๋ง์ฝ ๋ถ์ ์ง์์ด๊ฐ exists ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค๋ฉด select์ ์๋ ์ค์ง ํ๋์ ์์๋ง ์ฌ์ฉ๋์ด์ผํ๋ค. 2. select์ ์ distinct๋ฅผ ์ฌ์ฉํ ์ ์๋ค. 3. order by์ ์ ์ฌ์ฉํ ์ ์๋ค. โ โโ โ 1. ์ํธ ๊ด๋ จ ๋ถ์ ์ง์์ด์ ์์ โ ์์ 14-2) ํ์ ์ค์ ๋์๋ฆฌ์ ๋ฑ๊ธ์ด ์ผ๋ฐ ํ์์ธ ํ์์ ํ๋ฒ๊ณผ ์ด๋ฆ, ์๋ ์์ผ์ ์ถ๋ ฅํ๋ผ. A) mysql> select stu_no, stu_name, birthday -> from student -> where stu_no in -> (select st.. 2021. 2. 9. ์ด์ 1 2 3 4 5 ๋ค์ ๋ฐ์ํ