29 Fri
TIL
๋ฐ์ดํฐ ๋ถ์์ ์ํ ๊ธฐ์ด SQL
OT
๊ฐ์ข ์๊ฐ
SELECT - ์ง์์ด
INSERT, UPDATE, DELETE - ์กฐ์์ด
๊ฐ์ ์๊ฐ์ ์ํ ์ค๋น & ๋งํฌ ์๋ด
ํด์ปค๋ญํฌ ๊ฐ์ -> ๋ฌธ์ ํ์ด๋ฅผ ์ํจ
w3school -> ์ค์ต
๋ณด๊ณ ์ถ์ ๋ฐ์ดํฐ ๊บผ๋ด์ค๊ธฐ
SELECT / FROM /LIMIT
๋ฐ์ดํฐ๋ ํ๋ก ๋ํ๋ด๋ฉฐ ๊ฐ๋ก๋ row, ์ธ๋ก๋ column
๊ฐ๋ก๋ ๋ฐ์ดํฐ ํ ๊ฐ๋ฅผ ์๋ฏธํ๋ฉฐ ์ธ๋ก๋ ๋ฐ์ดํฐ์ ํน์ฑ์ ์๋ฏธ
FROM
: ์ด๋ค ํ ์ด๋ธ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ์งSELECT
: ๋ฌด์์ ๊ฐ์ ธ์ฌ์ง*
: ์ ์ฒด ๋ด์ฉ์ ๊ฐ์ง๊ณ ์ค๋ผ๋ ๋จ์ถ์ด(asterisk)
SELECT
๋ค์ ํ๋ ๋ช ์ ์ ๋ ฅํ๋ฉด ๋๊ณ ์ฌ๋ฌ๊ฐ์ ํ๋ ๋ช ์ ์ฝค๋ง๋ก ๊ตฌ๋ถ ๊ฐ๋ฅLIMIT
: ๋ฐ์ดํฐ๋ฅผ N๊ฐ๋ง ๋ฝ์ ์ค๋ ๋ฐฉ๋ฒ๋ฐ์ดํฐ๊ฐ ๋๋ฌด ๋ง์ผ๋ฉด ๋ง์ ์ ๋ณด๋ฅผ ์ถ๋ ฅํด์ผ ํ๋ฉฐ ๋ง์ ์๊ฐ์ด ์์๋๋ค.
๋ฐ์ดํฐ์ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋จํ๊ฒ ํ์ ํ ๋ ์ฌ์ฉ ๊ฐ๋ฅ
SQL์์ ๋์๋ฌธ์ ๊ตฌ๋ณ์ ๋ํ ๊ฐ์ ๋ ์กด์ฌํ์ง ์์ง๋ง, ๊ฐ๋ ์ฑ์ ์ํด ์์ฝ์ด๋ ๋๋ฌธ์๋ก, ๋๋จธ์ง ๋ฌธ์๋ค์ ์๋ฌธ์๋ก ์ฐ๋๊ฒ์ด ๊ถ์ฅ๋๋ค.
์กฐ๊ฑด์ ๋ง๋ ๋ฐ์ดํฐ ๊ฒ์ํ๊ธฐ
๋น๊ต์ฐ์ฐ์์ ๋ ผ๋ฆฌ์ฐ์ฐ์
์ค์ ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ๋ณผ ์ผ์ ์์
ID๊ฐ 30๋ฒ ์ด์์ด๊ฑฐ๋ VALUE๊ฐ 5 ์ด์์ธ ๋ฐ์ดํฐ๋ง์ ๋ณด๋ ๋ฑ์ ์กฐ๊ฑด๋ถ ๋ฐ์ดํฐ ๊ด์ฐฐ์ ๋ง์ดํจ
WHERE
: ํน์ ์ปฌ๋ผ๋ง์ ๊ฐ์ง๊ณ ์ค๊ธฐ ์ํด์ ์ฌ์ฉEX
Customers < "B"
Country = 'Germany'
CustomerID = 5 AND City = 'Berlin
WHERE
๊ตฌ๋ฌธ์์AND
๋๋OR
์ฐ์ฐ์ ์ฌ์ฉ ๊ฐ๋ฅ
LIKE, IN, BETWEEN, IS NULL
LIKE
: ๋ฌธ์์ด์ ํจํด์ ๊ฐ์ง๊ณ ๊ฒ์์ ํ ๋ ์ฌ์ฉํ๋คEX
LIKE '%r%'
: ์ค๊ฐ์ 'r'์ด ๋ค์ด๊ฐ๋ ๋ฌธ์์ดLIKE 'br%'
: 'br' ๋ก ์์ํ๋ ๋ฌธ์์ด
IN
: ๊ตฌ๋ฌธ์ด ๋๋ฌด ๊ธธ์ด์ง ๋ ์ฌ์ฉ ๊ฐ๋ฅํ๋คCounttry IN ('Germany', 'France', 'Korea')
BETWEEN
: ๋ฒ์ํ ์งํฉ์ ์ ์ํ ๋ ์ฌ์ฉํ๋ค.CustomerID BETWEEN 3 AND 5
์ซ์, ๋ฌธ์์ด, ๋ ์ง ๋ฐ์ดํฐ ๋ฑ ๊ฐ๋ฅํ๋ค.
์์๊ฐ๊ณผ ๋๊ฐ๋ ํฌํจํ๋ค.
ISNULL
: ๋น์ด์๋ ๊ฐ์ ๋ํ๋ด๋ฉฐ ๋น๊ต์ฐ์ฐ์๋ก ๋น๊ตํ ์๋ ์๋ค.CustomerID != NULL
(X)CustomerID IS NULL
CustomerID IS NOT NULL
LIKE ์ฌํ
%
: ์ด๋ค ๋ฌธ์์ด๊ณผ๋ ๋งค์นญ๋๋ฉฐ ์ด ๋ฌธ์๋ฅผ ์์ผ๋์นด๋๋ผ๊ณ ๋ถ๋ฅธ๋ค.=
์ดLIKE
๋ณด๋ค ๋น ๋ฅด๋ค๊ฒ์ํ๊ณ ์ ํ๋ ํค์๋๊ฐ ๋ช ๋ฃํ์๋ฉด
=
์ ์ฌ์ฉํ ๊ฒ.
LIKE 'B_____'
B๋ก ์์ํ ๋ค์์ 5๊ฐ์ ๋ฌธ์๊ฐ ๋ฐ๋ผ์จ๋ค๋ ์๋ฏธ. ๋ฌธ์์ ๊ฐ์์ ์ธ๋๋ฐ์ ๊ฐ์์ ๋์ผํ๋ค.
์ด์ ๊ฐ์ ๊ฒฝ์ฐ๋ Brazil์ ์ฐพ์์ง์ง๋ง Belgium์ ์ฐพ์์ง์ง ์๋๋ค.
string
%
์์ผ๋์นด๋๊ฐ ์๋ ์ค์ ํผ์ผํธ๋ฅผ ์ฐพ๊ณ ์ถ๋ค๋ฉด
\%
๊ณผ ๊ฐ์ด ํํํ๋ฉด ๋๋ค.
๋ค์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
postgresql
mssql
redshift
๋ค์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฌธ๋ฒ์ ๊ฒ์ํ ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํํธ์จ์ด ์ด๋ฆ๊ณผ ๋ฌธ๋ฒ์ ๊ฒ์ํ ๊ฒ
EX) redshift LIKE
SELECT DISTINCT city
city์ ํ ์ด๋ธ ๊ฐ์ ์ค๋ณต๋๋ ๊ฐ์ด ์๊ฒ ์ถ๋ ฅํด์ ๋ณด์ฌ์ฃผ๋ผ๋ ์๋ฏธ
RLIKE
์ฌ๋ฌ๊ฐ์ ์กฐ๊ฑด์ด ํ์ํ ๋
LIKE
๊ฐ์ ๊ฒฝ์ฐ์๋LIKE regex OR
์ ๋ฐ๋ณต์ ์ผ๋ก ์จ์ผ ํ๋ค.RLIKE
๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉดRLIKE 'regex | regex'
์ ๊ฐ์ ๊ผด๋ก ์ธ ์ ์๋ค.
Last updated
Was this helpful?