λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
λ°˜μ‘ν˜•

MySQL24

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.
MySQL 21λ²ˆμ§Έμˆ˜μ—… ​ 11-10) λ“±λ‘κΈˆ 총앑이 20191005번과 λ™μΌν•œ ν•™μƒμ˜ ν•™λ²ˆκ³Ό λ“±λ‘κΈˆμ„ 좜λ ₯ν•˜λΌ. A) mysql> select stu_no, sum(fee_total) -> from fee -> group by stu_no -> having sum(fee_total) = all -> (select sum(fee_total) from fee where stu_no = '20191005'); ​ ​ 11-11) μˆ˜κ°•μ‹ μ²­ν•œ 학생이 등둝을 ν•˜μ˜€λ‹€λ©΄ 학생이 λ‚©μž…ν•œ ν•™λ²ˆκ³Ό λ“±λ‘κΈˆ 총앑을 좜λ ₯ν•˜λΌ.​ A) mysql> select stu_no, sum(fee_total) -> from fee -> group by stu_no -> having stu_no in -> (select stu_no from attend wher.. 2021. 2. 9.
MySQL 20λ²ˆμ§Έμˆ˜μ—… β–Ά GROUP BY와 HAVING ​​ 1. μ—΄μ˜ 그룹화​ ​ 예제 11-1) STUDENT ν…Œμ΄λΈ”μ— μžˆλŠ” ν•™μƒμ˜ μž…ν•™λ…„λ„λ³„ 그룹을 좜λ ₯ν•˜λΌ. A) mysql> select substring(stu_no, 1, 4) -> from student -> group by substring(stu_no, 1, 4); ​ ​ 예제 11-2) 각 μž…ν•™λ…„λ„λ³„ 총 학생 수λ₯Ό 좜λ ₯ν•˜λΌ. A) mysql> select substring(stu_no, 1, 4), count(*) -> from student -> group by substring(stu_no, 1, 4); ​ ​ 예제 11-3) λ“±λ‘ν•œ 학생에 λŒ€ν•˜μ—¬ ν•™λ²ˆ, λ“±λ‘νšŸμˆ˜, 각 학생이 받은 μž₯ν•™κΈˆμ˜ 전체 합을 좜λ ₯ν•˜λΌ. A) mysql> select stu_no,.. 2021. 2. 9.
MySQL 19λ²ˆμ§Έμˆ˜μ—… β–Ά ν†΅κ³„ν•¨μˆ˜ ​ 1. λͺ¨λ“  μ—΄μ˜ 선택(*)​ mysql> select * from circle;​ ​ ​ 2. SELECT절의 μˆ˜μ‹ μ§€κΈˆκΉŒμ§€ SELECT절의 λŒ€λΆ€λΆ„μ˜ μ˜ˆμ œλŠ” μ—΄μ˜ μ΄λ¦„λ§Œμ„ μ§€μ •ν–ˆμ§€λ§Œ μˆ˜μ‹μ—λŠ” λ¦¬ν„°λŸ΄, 계산 λ˜λŠ” 슀칼라 ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•  μˆ˜λ„ μžˆλ‹€. ​ ​ 예제 10-1) 2019년에 λ“±λ‘ν•œ 학생에 λŒ€ν•œ ν•™λ²ˆ, 년도, ν•™κΈ°, μž₯ν•™κΈˆμ•‘, 납뢀총앑(λ“±λ‘κΈˆ-μž₯ν•™κΈˆ), λ‚©λΆ€κΈˆλΉ„μœ¨(납뢀총앑/λ“±λ‘κΈˆ*100), '%'을 좜λ ₯ν•˜μ‹œμ˜€. A) mysql> select stu_no, fee_year, fee_term, fee_total, jang_total, -> fee_pay "납뢀총앑", fee_pay/fee_total*100 "λ‚©λΆ€κΈˆλΉ„μœ¨", '%' -> from fee -> where fee_year = 2.. 2021. 2. 8.
MySQL 18λ²ˆμ§Έμˆ˜μ—… 9-11) μž₯ν•™κΈˆ μˆ˜λ Ήμ΄μ•‘μ΄ 500,000μ›μ—μ„œ 2,000,000원 사이에 ν¬ν•¨λ˜μ§€ μ•ŠλŠ” 각 ν•™μƒμ˜ ν•™λ²ˆμ„ 좜λ ₯ν•˜λΌ. A) mysql> select stu_no -> from fee -> group by stu_no -> having not(sum(ifnull(jang_total, 0)) between 500000 and 2000000); ​ ​ 9-12) μž…ν•™λ…„λ„κ°€ 2002λ…„λΆ€ν„° 2006λ…„κΉŒμ§€ μž…ν•™ν•œ ν•™μƒμ˜ ν•™λ²ˆκ³Ό μž…ν•™λ…„λ„λ₯Ό 좜λ ₯ν•˜λΌ.​ A) mysql> select stu_no, fee_year -> from fee -> where fee_div='Y' and fee_enter is not null -> and fee_year between 2012 and 2018; ​ ​ 9-13) μΆœμƒλ…„λ„κ°€ 19.. 2021. 2. 8.
λ°˜μ‘ν˜•