์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ๋ฐ์ดํฐ๋ถ์
- ๊ธฐ์ดํต๊ณํ
- innerJoin
- ์๋ฐ
- HAVING
- sql๊ณต๋ถ
- sql๋ ํ
- PostgreSQL
- ํ๋ก๊ทธ๋๋ฐ๋ ํ
- ์๋ฐ๊ณต๋ถ
- ํต๊ณํ
- ์ง๊ณํจ์
- ์ํํ์ฝ๋ฉ์ฌ์
- ์๋ฐ๋ ํ
- groupby
- SQL
- Java
- sql์ง๊ณํจ์
- OuterJoin
- udemy
- ํ๋ก๊ทธ๋๋ฐ
- Today
- Total
๋ชฉ๋กPostgreSQL (5)
GBEY

RIGHT JOIN ์ด๋? โจ ๋ชฉ์ฐจ RIGHT JOIN ์ด๋? (= RIGHT JOIN) RIGHT JOIN + WHERE โจRIGHT JOIN ์ด๋? (= RIGHT JOIN) - ํ ์ด๋ธ B์๋ง ์๊ฑฐ๋ ํ ์ด๋ธ A, B ๋ชจ๋์ ์๋ ๋ฐ์ดํฐ๋ง ๋ณด์ฌ์ค - ํ ์ด๋ธ A์๋ง ์๋ ๋ฐ์ดํฐ๋ ์ ํ๋์ง ์์ - LEFT JOIN์ ๋ค์ง์ ๊ฒ! ์ฌ์ฉ๋ฒ SELECT * FROM TableA RIGHT OUTER JOIN TableB ON TableA.col_match = TableB.col_match; ๋ฐด๋ค์ด์ด๊ทธ๋จ์ผ๋ก ๋ณด๊ธฐ โจ RIGHT JOIN + WHERE WHERE ์ ์ ํจ๊ป ์ฐ๋ฉด ํ ์ด๋ธ B์๋ง ๊ณ ์ ํ๊ฒ ์๋ ๊ฐ์ ์ ํํ ์ ์๋ค. ์ฌ์ฉ๋ฒ SELECT * FROM TableA RIGHT OUTER JOIN Table..

LEFT OUTER JOIN ๐ ๋ชฉ์ฐจ LEFT OUTER JOIN ์ด๋? (= LEFT JOIN) LEFT OUTER JOIN + WHERE pgAdmin์์ LEFT OUTER JOIN ์ฐ์ตํ๊ธฐ ๐ LEFT OUTER JOIN ์ด๋? (= LEFT JOIN) - ํ ์ด๋ธ A ์์ ๋ฐ์ดํฐ๋ฅผ ์ ํํ๋ค. - ํ ์ด๋ธ A์๋ง ์๊ฑฐ๋ ํ ์ด๋ธ A์ B์ ๋์์ ์กด์ฌํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ํํ๋ค. - ํ ์ด๋ธ B์๋ง ์กด์ฌํ๋ ๋ฐ์ดํฐ๋ ์ ํ๋์ง ์๋๋ค. - ํ ์ด๋ธ A์๋ง ์กด์ฌํ๋ ๋ฐ์ดํฐ๋ ํ ์ด๋ธ B ์ชฝ์ null๋ก ํ์๋๋ค. - ์์๋ฅผ ๋ฐ๊ฟ ์ธ ์ ์๋ค! ๋ฐด๋ค์ด์ด๊ทธ๋จ์ผ๋ก ๋ํ๋ด๋ฉด? ์์๋ก LEFT OUTER JOIN ์ดํด๋ณด๊ธฐ Registration reg_id name 1 Suzy 2 Amy 3 John Attendance at..

INNER JOIN์ด๋? ๐ ๋ชฉ์ฐจ INNER JOIN์ด๋? pgAdmin์์ INNER JOIN ์ฐ์ตํ๊ธฐ ๐ INNER JOIN์ด๋? - JOIN์ ์ฌ๋ฌ ๋ฐฉ๋ฒ ์ค ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ด๊ณ ์ฌ์ด ๋ฐฉ๋ฒ - ์ฌ๋ฌ๊ฐ์ ํ ์ด๋ธ์ ํ๋๋ก ๊ฒฐํฉํ๋ค. - ์์ชฝ์ ํ ์ด๋ธ์์ ๊ณตํต์ ์ผ๋ก ์กด์ฌํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฌ์ค๋ค. - ๊ตฌ๋ฌธ์์ ํ ์ด๋ธ ์์๋ ์๊ด ์์ ์ฌ์ฉ๋ฒ: SELECT * FROM TableA INNER JOIN TableB ON TableA.col_match = TableB.col_match ๋ฐด๋ค์ด์ด๊ทธ๋จ์ผ๋ก ๋ํ๋ด๋ณด๋ฉด ์๋์ฒ๋ผ ๋ถํ์์ผ๋ก ์์น ํ ๋ถ๋ถ์ ํด๋น๋๋ค. (๊ทธ๋ฆผ ํผ์ค๋ฉด ์๋ ๊น๋ด ์ง์ ๊ทธ๋ฆผ๐ ) ์์ ๋ก INNER JOIN ์ดํด๋ณด๊ธฐ Table A : Registration (๋ฑ๋ก์) Registration reg_id na..

GROUP BY ๐ ๋ชฉ์ฐจ GROUP BY๋? pgAdmin์์ GROUP_BY ์ฐ์ตํ๊ธฐ ๐ GROUP BY๋? - ์นดํ ๊ณ ๋ฆฌ ์ด์ GROUP BY๋ฅผ ์คํํจ - ์นดํ ๊ณ ๋ฆฌ ์ด์ ๊ฐ์ ์ฐ์์ ์ธ ๊ฐ์ด ์๋ - ์นดํ ๊ณ ๋ฆฌ ์ด์ ๊ฐ์ด ์ฐ์์ ์ด ์๋๋ผ ํด๋ ์ซ์๋ก ๋ถ๋ฅ๋ ์ ์์ Ex) ํฌ๋ฃจ์ฆ์ ๊ฐ์ค ๋ฑ๊ธ - Class1, Class2, Class3, ... GROUP BY์ ์ญํ ? - ์ง์ ํ ์นดํ ๊ณ ๋ฆฌ ์ด์ ๊ธฐ์ค์ผ๋ก ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฅํ ์ ์๋ค Category Data Value A 10 A 5 Category Data Value B 2 B 4 Category Data Value C 12 C 6 - GROUP BY์ ํจ๊ป SUM์ ์ฌ์ฉํ๋ค๋ฉด ์นดํ ๊ณ ๋ฆฌ๋ณ ํฉ๊ณ๋ฅผ ๊ตฌํ ์ ์์ Category Result A 15 B ..

HAVING์ด๋? + pgAdmin์ผ๋ก ์ฐ์ตํ๊ธฐ ๐ธ ๋ชฉ์ฐจ HAVING ์ด๋? pgAdmin์์ HAVING ์ฐ์ตํ๊ธฐ ๐ธ HAVING ์ด๋? - ์ง๊ณ๊ฐ ์๋ฃ๋ ๋ฐ์ดํฐ๋ฅผ ํํฐ๋ง ํ ์ ์๊ฒ ํด์ค๋ค. - GROUP BY ๋ค์ ์์นํ๋ค. ์๋ ์ฟผ๋ฆฌ๋ฌธ์์๋ WHERE ์ ์ ์ฌ์ฉํด์ ํํฐ๋ง ํ์. SUM(sales)๋ก ํํฐ๋ง์ ํ๊ณ ์ถ์๋ฐ, WHERE ์ ์์๋ ์ฌ์ฉํ ์ ์์ ์ง๊ณ๋ WHERE๋ฌธ์ด ์คํ๋ ํ์ ์คํ๋๊ธฐ ๋๋ฌธ SELECT company, SUM(sales) FROM finance_table WHERE company != 'Google' GROUP BY company SUM(sales)๋ก ํํฐ๋ง์ ํ๊ณ ์ถ๋ค๋ฉด ์๋์ฒ๋ผ HAVING์ ์ถ๊ฐํ๋ค ์ฃผ์! WHERE๊ณผ ๋ค๋ฅธ์ ์, HAVING์ ์ง๊ณ ๊ฒฐ๊ณผ์ ๋ํด์..