| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 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 |
- ์๋ฐ
- OuterJoin
- ์ง๊ณํจ์
- ์๋ฐ๊ณต๋ถ
- ๊ธฐ์ดํต๊ณํ
- groupby
- innerJoin
- ํ๋ก๊ทธ๋๋ฐ๋ ํ
- sql๋ ํ
- ๋ฐ์ดํฐ๋ถ์
- SQL
- udemy
- PostgreSQL
- ์๋ฐ๋ ํ
- sql๊ณต๋ถ
- sql์ง๊ณํจ์
- ์ํํ์ฝ๋ฉ์ฌ์
- ํต๊ณํ
- HAVING
- Java
- ํ๋ก๊ทธ๋๋ฐ
- Today
- Total
๋ชฉ๋ก์ ์ฒด ๊ธ (19)
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..
FULL OUTER JOIN ๐ฐ ๋ชฉ์ฐจ OUTER JOIN์ด๋? FULL OUTER JOIN์ด๋? pgAdmin์์ FULL OUTER JOIN ์ฐ์ตํ๊ธฐ ๐ฐ OUTER JOIN์ด๋? - OUTER JOIN์๋ ๋ช ๊ฐ์ง ์ข ๋ฅ๊ฐ ์๋๋ฐ, ๊ฐ๊ฐ์ ์กฐ์ธ๋ ํ ์ด๋ธ๋ค ์ค ํ๋์๋ง ์กด์ฌํ๋ ๊ฐ์ ์ด๋ป๊ฒ ๋ค๋ฃฐ์ง์ ๋ฐ๋ผ ์ฌ์ฉ๋๋ค. - ์ข ๋ฅ: FULL OUTER JOIN LEFT OUTER JOIN RIGHT OUTER JOIN ๐ฐ FULL OUTER JOIN์ด๋? - ํ ์ด๋ธ A, ํ ์ด๋ธ B ์ ํฌํจ๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฌ์ค๋ค. - ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฌ์ฃผ๋๋ฐ, ๋งค์นญ๋์ง ์๋ ๋ฐ์ดํฐ๋ ํด๋น ํ ์ด๋ธ์ชฝ์ Null๋ก ๊ธฐ์ ๋๋ค. - ํ ์ด๋ธ์ ์์๋ฅผ ๋ฐ๊ฟ ์ ์ด๋ ๊ฒฐ๊ณผ๋ ๊ฐ๋ค. ๋์นญ์ด๊ธฐ ๋๋ฌธ ์ฌ์ฉ๋ฒ SELECT * FROM TableA F..
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..
AS๋ฌธ์ด๋? + pgAdmin์์ ์ฐ์ตํ๊ธฐ ๐ญ ๋ชฉ์ฐจ AS๋ฌธ์ด๋? pgAdmin์์ AS ์ฐ์ตํ๊ธฐ ๐ญ AS๋ฌธ์ด๋? - AS๋ฌธ์ ์ด์ด๋ ๊ฒฐ๊ณผ์ ๋ณ์นญ์ ๋ถ์ฌํจ - ๋ณ์นญ์ด ๊ฒฐ๊ณผ ํ ์ด๋ธ์ ์ฐํ - ๊ฐ๋ ์ฑ์ ์ํ ๊ฒ - AS๋ฌธ์ ์ฟผ๋ฆฌ์ ๊ฐ์ฅ ๋ง์ง๋ง์ ์คํ๋๊ธฐ ๋๋ฌธ์ WHERE, GROUP BY ๊ฐ์ ๊ณณ์์๋ ๋ณ์นญ์ ์ฌ์ฉํ ์ ์์ (SELECT ๋ฌธ์์๋ง ์ฌ์ฉ ๊ฐ๋ฅ) ์ฌ์ฉ๋ฐฉ๋ฒ SELECT column AS new_name FROM table; ๐ญ pgAdmin์์ AS ์ฐ์ตํ๊ธฐ - payment ํ ์ด๋ธ์์ ๊ฑฐ๋๋ด์ญ์ ์๋ฅผ ์ด๋ฆ์ ๋ฐ๊ฟ์ ๋ณด์ฌ์ฃผ๊ธฐ SELECT COUNT(amount) AS num_transactions FROM payment; output: - payment ํ ์ด๋ธ์์ ์ฌ์ฉํ ๊ธ์ก์ ํฉ๊ณ๊ฐ 100 ์ด์..
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์ ์ง๊ณ ๊ฒฐ๊ณผ์ ๋ํด์..
๋ฌธ์์ด ์๋ฃํ๊ณผ ๊ธฐ์ด ์ฌ์ฉ๋ฒ ๋ค๋ฅธ ํฌ์คํ ๋ค๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์์ฝ ์๋ฐ ๊ฐ์๋ฅผ ๋ค์ผ๋ฉฐ ๋ด๊ฐ ๋ชจ๋ฅด๋ ๋ด์ฉ, ์ ๋๋ก ๋ชฐ๋๋ ๋ด์ฉ์ ์์ฃผ๋ก ๊ธฐ๋กํ์๋ค! ๐ธ๋ชฉ์ฐจ ๋ฌธ์์ด ์๋ฃํ(String) String Pool(String Constant Pool) ๋ฌธ์์ด์ ๊ธฐํ ํน์ง ์ด์ค์ผ์ดํ ํ ๐ธ๋ฌธ์์ด ์๋ฃํ(String) ? - ์์ด๋ , ํ๊ธ์ด๋ , ๋น ๋ฌธ์์ด์ด๋ , ์ด๋ชจํฐ์ฝ์ด๋ฑ ๋ค ๊ฐ๋ฅ - '' ๊ฐ ์๋ "" ์์ ์ ๋ ฅ - ๋ค๋ฅธ ์๋ฃํ๋ค์ ๋ฐ์ดํฐ ํ๋์ ์ง์ ๋ ๋ฉ๋ชจ๋ฆฌ ์ฉ๋์ด ์์์ผ๋, string์ ์ ํด์ง์ง ์์์ - ์์์๋ฃํ X, ์ฐธ์กฐ ์๋ฃํO. ํ์ง๋ง ์์๊ฐ๊ณผ ์ ์ฌํ๊ฒ ์ฌ์ฉ๋ ์ ์์ ์์ฑ ๋ฐฉ์ - ๋ฆฌํฐ๋ด ๋ฐฉ์ String str1 = "Hello World!"; - ์ธ์คํด์ค ์์ฑ ๋ฐฉ์ (๋จ์ํ ๋ฌธ์์ด๋ง์ด ์๋๋ผ ๋ด๋ถ์ ..