- @CreatedDate
- datagrip
- Rp2๊ธฐ
- MethodArgumentNotValidException
- node js
- ๊ตฌ๊ธ ์์ ๋ก๊ทธ์ธ
- spring์ผ๋ก https ์ ์ฉ
- Unity
- ๋ฆฌ๋ ์ค ๋ช ๋ น์ด
- GIT
- mysql
- spring ์์ ๋ก๊ทธ์ธ
- DATABASE
- spring ๊ตฌ๊ธ ์์ ๋ก๊ทธ์ธ
- Spring
- MAKE US
- ์์คํ ์ํํธ์จ์ด
- RP 2๊ธฐ
- merge sort
- SSL
- Java
- Data Structure
- SQL
- aligoapi
- docker
- ํจ์คํธ์บ ํผ์คX์ผ๋์
- OpenAPI
- java error
- Quick Sort
- C++
๋ชฉ๋กSQL (4)
YS's develop story
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/SFxKq/btq3r2geifx/bTCEN9lkkla05oIcCdXMKK/img.png)
Select์ ์์ ์ฌ์ฉํ ์ ์๋ ์๋ธ ์ฟผ๋ฆฌ Scalar Subquery Scalar Subquery ํน์ง ํ ๊ฐ์ single value๋ฅผ ๋ฐํํ๋ Select์ ์ ์๋ธ ์ฟผ๋ฆฌ์ ๋๋ค. ๋ง์ฝ Scalar Subquery๋ฅผ ์ด์ฉํ์ฌ ํ ๊ฐ ๋ณด๋ค ๋ง์ column์ ์ถ๋ ฅํ๊ณ ์ ํ๋ค๋ฉด Runtime error๊ฐ ๋ฐ์ํ๊ฒ ๋ฉ๋๋ค. Scalar Subquery๋ ํ ์ด๋ธ์์ column ๊ฐ์ ์กฐํํ ๋ ๋ถํ์ํ Join์ ํ์ง ์๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค. Scalar Subquery๋ ํด๋นํ๋ ๊ฐ์ด ์กด์ฌํ์ง ์์ ๊ฒฝ์ฐ null์ ๋ฐํํฉ๋๋ค. Scalar Subquery ์์ ์๋์ ๊ฐ์ด ๋ ๊ฐ์ ํ ์ด๋ธ์ด ์์ต๋๋ค. Community ํ ์ด๋ธ CommunityReply ํ ์ด๋ธ SELECT contentName, (SELECT..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cHYhpP/btq4WW72kzy/bp38m3DiYxykvG2QKlSXy1/img.png)
SQL Having, Where ์ฐจ์ด ์์ ๊ฐ์ด instructor๋ผ๋ ํ ์ด๋ธ์ด ์์ต๋๋ค. SELECT dept_name, AVG(salary) AS avg_salary FROM instructor GROUP BY dept_name HAVING AVG(salary) > 42000; ์ง๊ณ ํจ์์ GROUP BY ํค์๋๋ฅผ ํ์ฉํด ์์ ๊ฐ์ ์ฟผ๋ฆฌ๋ฌธ์ผ๋ก dept_name๋ณ๋ก ํ๊ท ์ฐ๋ด์ ์ถ๋ ฅํ๋๋ก ํ ์ ์์ต๋๋ค. ํ์ง๋ง ์ฌ๊ธฐ์ ๊ถ๊ธํ ๊ฒ ์๊ฒผ์ต๋๋ค. HAVING์ด ์๋ WHEREํค์๋๋ก ์์ ๋๊ฐ์ด ์ถ๋ ฅํ๋๋ก ํ ์ ์์ง ์์๊น์? ๊ฒฐ๋ก ๋ถํฐ ๋งํ์๋ฉด ๊ทธ๋ ๊ฒ ํ ์ ์์ต๋๋ค! ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์์๋ ์์ ๊ฐ์ด ๋์ ์์ต๋๋ค. HAVING์ ๊ทธ๋ฃน์ ํ์ฑ ํ ํ์ ์ ์ฉ์ด ๋์ง๋ง WHERE๋ ๊ทธ๋ฃน์ ๋ง๋ค๊ธฐ ์ ์ ์ ์ฉ์ด..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/baqD8k/btq3qM5y08y/RUelalPOgmUXnOoL4qnKok/img.png)
SQL Aggregate Functions ์ง๊ณ ํจ์ SQL์ ์ง๊ณ ํจ์, Aggregate function์ ํตํด column์ ๊ฐ๋ค์ ๊ณ์ฐํ ์ ์์ต๋๋ค. ์ ์ฌ์ง์ ์ฟผ๋ฆฌ๋ dept_name์ด Comp. Sci์ธ ๊ฐ์ฌ๋ค์ ํ๊ท ๊ธ์ฌ๋ฅผ ์ถ๋ ฅํด๋ผ ๋ผ๋ ๋ช ๋ น์ด์ ๋๋ค. ์์ ๊ฐ์ด ์ง๊ณ ํจ์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. avg ๋์ ์... min์ ์ฌ์ฉํ๊ฒ ๋๋ฉด ๊ฐ์ฌ์ ๊ธ์ฌ ์ค ์ต์๊ฐ์ max๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด ๊ฐ์ฌ์ ๊ธ์ฌ ์ค ์ต๋๊ฐ์ sum์ ์ฌ์ฉํ๊ฒ ๋๋ฉด ๊ฐ์ฌ ๊ธ์ฌ์ ๋ชจ๋ ํฉ๊ณ๋ฅผ ๊ฐ์ ธ์ค๊ฒ ๋ฉ๋๋ค. ์์ ๊ฐ์ด count๋ฅผ ํ์ฉํ์ฌ์ courseํ ์ด๋ธ์ ํํ ์ ๊ฐ ๋ช ๊ฐ์ธ์ง ํ์ธํ๋ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ์ง๊ณ ํจ์์ Group By ํค์๋ ํ์ฉํด๋ณด๊ธฐ ์ ์ฌ์ง์์ ์ฌ์ฉ๋ ์ฟผ๋ฆฌ์ ๊ฐ์ด group by ํค์๋๋ฅผ ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/BrgYI/btq3n8nFXK2/8Y4D1dZ8byoG8xWNnnIK81/img.png)
Cartesian Product SELECT * FROM instructor, teaches from์ ์ ์์ ๊ฐ์ด ํ ์ด๋ธ์ ๋ ๊ฐ ์ฐ๊ฒ ๋๋ค๋ฉด ๊ฐ๋ฅํ ๋ชจ๋ ์กฐํฉ์ผ๋ก ํ ์ด๋ธ์ ์ด์ด ๋ถ์ฌ์ ์ถ๋ ฅํ๊ฒ ๋ฉ๋๋ค. ์ผ์ชฝ์ classroom ํ ์ด๋ธ, ์ค๋ฅธ์ชฝ์ department ํ ์ด๋ธ์ ๋๋ค. classroom๊ณผ departmentํ ์ด๋ธ์ Cartesian product๋ฅผ ์งํํ์ต๋๋ค. SELECT * FROM classroom,department Cartesian Product๋ ์ด ๊ธฐ๋ฅ ํ๋๋ง์ผ๋ก ์ ์ฉํ์ง ์์ต๋๋ค. ๊ฐ๋ฅํ ๋ชจ๋ ์กฐํฉ์ผ๋ก ํ ์ด๋ธ์ ์ด์ด ๋ถ์ด๊ธฐ ๋๋ฌธ์ ์ธ๋ฐ์๋ ํํ๋ค์ด ๋ง์ด ์์ฑ๋ฉ๋๋ค. ํ์ง๋ง Whereํค์๋์ ํจ๊ป ์ฌ์ฉํ๋ค๋ฉด ๋งค์ฐ ์ ์ฉํฉ๋๋ค. ์๋์ ๊ฐ์ด ์ฌ์ฉํ๊ฒ ๋๋ค๋ฉด ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ ์ ์์ต๋..