โ๐ป 29์ผ ๊ณต๋ถ ์ด์ผ๊ธฐ.
AWS RDS(database-1) zerobase์ ์ ์
sandwich ๋ฐ์ดํฐ ํ์ธ
์ ๋ ฅ๊ฐ์ ๊ธฐ์ค์ผ๋ก ๋จ์ผ ๊ฐ์ ๋ฐํํด์ฃผ๋ ํจ์๋ค์ด๋ค.
SELECT UCASE('๋ฌธ์์ด')
SELECT LCASE('๋ฌธ์์ด')
SELECT MID('๋ฌธ์์ด', ๋ฌธ์์ด ๋ฐํ ์์ ์์น, ๋ฐํํ ๋ฌธ์์ด ๊ธธ์ด)
SELECT LENGTH('๋ฌธ์์ด') <-- ๋ฌธ์๊ฐ ์๋ ๊ฒฝ์ฐ : 0, ๊ณต๋ฐฑ : 1 -->
SELECT ROUND(์ซ์, ๋ฐ์ฌ๋ฆผํ ์์์ ์์น)
<-- ๋ํดํธ๋ ์์์ ์ฒซ๋ฒ์งธ ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผ -->
<-- ์ผ์ ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผ : -1, ์ญ์ ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผ : -2 ... -->
MID | LENGTH |
---|
SELECT NOW()
SELECT FORMAT(์ซ์, ํ์ํ ์์์ ์์น)
<-- ์ฒ ๋จ์์ ์ฝค๋ง๋ฅผ ํ์ํ๋, ์์์ ์ ์ด๋๊น์ง ํ์ํ ์ง ์ค์ ํ ์ ์์ -->
<-- 0 : ์์์ ์ ํ์ํ์ง ์์ -->
<-- ๋ฐํ๊ฐ์ ๋ฌธ์์ด์ -->
NOW |
---|
ํ๋์ SQL๋ฌธ(= ๋ฉ์ธ์ฟผ๋ฆฌ) ์์ ํฌํจ๋์ด ์๋ ๋ ๋ค๋ฅธ SQL๋ฌธ์ ์๋ธ์ฟผ๋ฆฌ๋ผ ๋งํ๋ค.
๋ฉ์ธ ์ฟผ๋ฆฌ์ ์๋ธ์ฟผ๋ฆฌ๋ ์ข ์์ ์ธ ๊ด๊ณ์ด๋ค.
๋ฐ๋ผ์ ์๋ธ์ฟผ๋ฆฌ๋ ๋ฉ์ธ์ฟผ๋ฆฌ์ ์ปฌ๋ผ์ด ์ฌ์ฉ ๊ฐ๋ฅํ์ง๋ง, ๋ฉ์ธ์ฟผ๋ฆฌ๋ ์๋ธ์ฟผ๋ฆฌ์ ์ปฌ๋ผ์ ์ฌ์ฉํ ์ ์๋ค.
๐ ์๋ธ์ฟผ๋ฆฌ ์ฌ์ฉ ์ ์ฃผ์ ์ฌํญ
SELECT
์ ์ ์ฌ์ฉFROM
์ ์ ์ฌ์ฉWHERE
์ ์ ์ฌ์ฉ๊ฒฐ๊ณผ๊ฐ ํ๋์ Column์ด ๋ ์ ์๊ฒ๋ ์๋ธ์ฟผ๋ฆฌ๋ฅผ ์ง์ฃผ์ด์ผ ํ๋ค.
SELECT ์ปฌ๋ผ์ด๋ฆ1, (SELECT ์ปฌ๋ผ์ด๋ฆ2 FROM ํ
์ด๋ธ์ด๋ฆ2 WHERE ์กฐ๊ฑด)
FROM ํ
์ด๋ธ์ด๋ฆ1
WEHRE ์กฐ๊ฑด
์์ธ์ํ๊ฒฝ์ฐฐ์์ ๊ฐ๋ ๊ฒ๊ฑฐ ๊ฑด์์ ์์ธ์ ๊ฒฝ์ฐฐ์ ์ ์ฒด์ ํ๊ท ๊ฐ๋ ๊ฒ๊ฑฐ ๊ฑด์๋ฅผ ์กฐํํ๋ผ.
๋ฉ์ธ์ฟผ๋ฆฌ์์๋ ์ธ๋ผ์ธ ๋ทฐ์์ ์กฐํํ Column๋ง ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
SELECT ๋ณ๋ช
1.์ปฌ๋ผ์ด๋ฆ , ๋ณ๋ช
2.์ปฌ๋ผ์ด๋ฆ
FROM ํ
์ด๋ธ์ด๋ฆ1 ๋ณ๋ช
1, (SELECT ์ปฌ๋ผ์ด๋ฆ1, ์ปฌ๋ผ์ด๋ฆ2 FROM ํ
์ด๋ธ์ด๋ฆ2) ๋ณ๋ช
2
<-- ํ
์ด๋ธ2์์ ์กฐํํ ํ
์ด๋ธ์ ์๋ก์ด ํ
์ด๋ธ๋ก ์๊ฐํ๊ณ ์ด๋ฅผ ์ด์ฉํ ์ ์์ -->
WHERE ์กฐ๊ฑด
๊ฒฝ์ฐฐ์ ๋ณ๋ก ๊ฐ์ฅ ๋ง์ด ๋ฐ์ํ ๋ฒ์ฃ ๊ฑด์์ ๋ฒ์ฃ ์ ํ์ ์กฐํํ๋ผ.
๋จผ์ , ๊ฒฝ์ฐฐ์ ๋ณ๋ก ๊ฐ์ฅ ๋ง์ด ๋ฐ์ํ ๋ฒ์ฃ ๊ฑด์๋ฅผ ์ถ๋ ฅํ๋ ํ
์ด๋ธ์ ๋ง๋ค๋ฉด ์๋์ ๊ฐ๋ค.
์ด๋ ๊ฒ ๋ง๋ ํ ์ด๋ธ์ ์๋ณธ ํ ์ด๋ธ๊ณผ ํฉ์ณ์ ๊ฒฝ์ฐฐ์ ์ด๋ฆ๊ณผ ๋ฐ์ ๊ฑด์๊ฐ ๋ง๋ ๋ฐ์ดํฐ๋ฅผ ์ฐพ์ ๋ฒ์ฃ ์ ํ์ ์ถ๋ ฅํด์ฃผ๋ ์ฝ๋๋ฅผ ์ง๋ฉด ๋๋ค.
Single Row Subquery
์๋ธ์ฟผ๋ฆฌ๊ฐ ๋น๊ต์ฐ์ฐ์(=, >, >=, <, <=, <>, !=)์ ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ, ์๋ธ์ฟผ๋ฆฌ์ ๊ฒ์ ๊ฒฐ๊ณผ๋ ํ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ(ํ ๊ฐ์ ํ)์ ๊ฐ์ ธ์์ผํ๋ค.
SELECT ์ปฌ๋ผ์ด๋ฆ
FROM ํ
์ด๋ธ์ด๋ฆ
WHERE ์ปฌ๋ผ์ด๋ฆ = (SELECT ์ปฌ๋ผ์ด๋ฆ FROM ํ
์ด๋ธ์ด๋ฆ WHERE ์กฐ๊ฑด)
<-- ๊ดํธ๋ ๋ฌด์กฐ๊ฑด!! -->
ORDER by ์ปฌ๋ผ์ด๋ฆ
Multiple Row Subquery
1. IN
์๋ธ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ ์ค์ ํฌํจ๋๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๊ณ ์ ํ ๋๋ IN
์ ์ฌ์ฉํ ์ ์๋ค.
SELECT ์ปฌ๋ผ์ด๋ฆ
FROM ํ
์ด๋ธ์ด๋ฆ
WHERE ์ปฌ๋ผ์ด๋ฆ IN (SELECT ์ปฌ๋ผ์ด๋ฆ FROM ํ
์ด๋ธ์ด๋ฆ WHERE ์กฐ๊ฑด)
ORDER by ์ปฌ๋ผ์ด๋ฆ
2. EXISTS
์๋ธ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ ์ค์ ๊ฐ์ด ์๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๊ณ ์ ํ ๋๋ EXISTS
์ ์ฌ์ฉํ ์ ์๋ค.
SELECT ์ปฌ๋ผ์ด๋ฆ
FROM ํ
์ด๋ธ์ด๋ฆ
WHERE EXISTS (SELECT ์ปฌ๋ผ์ด๋ฆ FROM ํ
์ด๋ธ์ด๋ฆ WHERE ์กฐ๊ฑด)
ORDER by ์ปฌ๋ผ์ด๋ฆ
3. ANY
์๋ธ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ ์ค์ ์ต์ํ ํ๋๋ผ๋ ๋ง์กฑํ๋(๋น๊ต์ฐ์ฐ์ ์ด์ฉ)๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๊ณ ์ ํ ๋๋ ANY
์ ์ฌ์ฉํ ์ ์๋ค.
SELECT ์ปฌ๋ผ์ด๋ฆ
FROM ํ
์ด๋ธ์ด๋ฆ
WHERE ์ปฌ๋ผ์ด๋ฆ = ANY (SELECT ์ปฌ๋ผ์ด๋ฆ FROM ํ
์ด๋ธ์ด๋ฆ WHERE ์กฐ๊ฑด)
ORDER by ์ปฌ๋ผ์ด๋ฆ
4. ALL
์๋ธ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ๋ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๊ณ ์ ํ ๋๋ ALL
์ ์ฌ์ฉํ ์ ์๋ค.
SELECT ์ปฌ๋ผ์ด๋ฆ
FROM ํ
์ด๋ธ์ด๋ฆ
WHERE ์ปฌ๋ผ์ด๋ฆ = ALL (SELECT ์ปฌ๋ผ์ด๋ฆ FROM ํ
์ด๋ธ์ด๋ฆ WHERE ์กฐ๊ฑด)
ORDER by ์ปฌ๋ผ์ด๋ฆ
Multiple Column Subquery
์๋ธ์ฟผ๋ฆฌ ๋ด์ ๋ฉ์ธ ์ฟผ๋ฆฌ ์ปฌ๋ผ์ด ๊ฐ์ด ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ค.
SELECT ์ปฌ๋ผ์ด๋ฆ
FROM ํ
์ด๋ธ์ด๋ฆ ๋ณ๋ช
1
WHERE (๋ณ๋ช
1.์ปฌ๋ผ์ด๋ฆ, ๋ณ๋ช
1.์ปฌ๋ผ์ด๋ฆ, ..) IN
(SELECT ๋ณ๋ช
2.์ปฌ๋ผ์ด๋ฆ, ๋ณ๋ช
2.์ปฌ๋ผ์ด๋ฆ, ... FROM ํ
์ด๋ธ์ด๋ฆ ๋ณ๋ช
2 WHERE ์กฐ๊ฑด)
ORDER by ์ปฌ๋ผ์ด๋ฆ