SELECT (1)
SELECT [DISTINCT]
FROM
[WHERE]
[GROUP BY]
[HAVING]
[ORDER BY]
π μμ
SELECT μ΄λ¦ + 'μ μκΈ' AS μ΄λ¦2, κΈ°λ³ΈκΈ + 10 AS κΈ°λ³ΈκΈ2
FROM μ¬μ
SELECT *
FROM μ¬μ
WHERE λΆμ IN ('κΈ°ν', 'λ§μΌν
');
SELECT *
FROM μ¬μ
WHERE μ΄λ¦ LIKE 'κΉ_';
SELECT *
FROM μ¬μ
WHERE μ΄λ¦ LIKE 'κΉ%';
SELECT *
FROM μ¬μ
WHERE κ²½λ ₯ LIKE '1#';
SELECT *
FROM μ¬μ
WHERE μμΌ BETWEEN #010169# AND #12/31/73#
SELECT *
FROM μ¬μ
WHERE μ£Όμ IS NULL
SELECT *
FROM μ¬μ
WHERE μ£Όμ IS NOT NULL
SELECT TOP 2 *
FROM μ¬μ
ORDER BY κ²½λ ₯ DESC, μμΌ ASC;
νμμ§μ : 쑰건μ μ μ£Όμ΄μ§ μ§μλ₯Ό λ¨Όμ μννμ¬ κ·Έ κ²μ κ²°κ³ λ₯Ό 쑰건μ μ νΌμ°μ°μλ‘ νμ©νλ€.
SELECT μ΄λ¦, μ£Όμ
FROM μ¬μ
WHERE μ΄λ¦ = (SELECT μ΄λ¦ FROM μ¬κ°νλ WHERE μ·¨λ―Έ = 'μ½λ©')
SELECT μ΄λ¦, μ£Όμ
FROM μ¬μ
WHERE μ΄λ¦ NOT IN (SELECT μ΄λ¦ FROM μ¬κ°νλ)
SELECT μ΄λ¦, μ£Όμ
FROM μ¬μ
WHERE EXISTS (SELECT μ΄λ¦ FROM μ¬κ°νλ WHERE μ¬κ°νλ.μ΄λ¦ = μ¬μ.μ΄λ¦)
EXIST : νμμ§μλ‘ κ²μλ κ²°κ³Όκ° μ‘΄μ¬νλμ§ νμΈν λ μ΄λ€...
μ μμμ κ²½μ° μ¬μν μ΄λΈμ μ΄λ¦μ΄ μ¬κ°νλμ μ΄λ¦μλ μλμ§ νμΈνκ³ , λ ν μ΄λΈμ μ΄λ¦μ΄ μ‘΄μ¬νλ μ¬μμ μ΄λ¦κ³Ό μ£Όμλ₯Ό μΆλ ₯νλ€.
SELECT (2)
κ·Έλ£Ήν¨μ
GROUP BY μ μ μ§μ λ κ·Έλ£Ήλ³λ‘ μμ±μ κ°μ μ§κ³ν ν¨μλ₯Ό κΈ°μ ν¨
- COUNT
- SUM
- AVG
- MAX
- MIN
- STDDEV : νμ€νΈμ°¨
- VARIANCE : λΆμ°
- ROLLUP
- CUBE
π μμ
SELECT λΆμ, AVG(μμ¬κΈ) AS μμ¬κΈνκ·
FROM μμ¬κΈ
GROUP BY λΆμ
μμ¬κΈ
ν μ΄λΈμμλΆμ
λ³μμ¬κΈ
νκ· μ ꡬνλ€.
SELECT λΆμ, COUNT(*) AS μ¬μμ
FROM μμ¬κΈ
WHERE μμ¬κΈ >= 100
GROUP BY λΆμ
HAVING COUNT(*) >= 2
μμ¬κΈ
ν μ΄λΈμμμμ¬κΈ
μ΄100
μ΄μμΈ μ¬μμ΄2λͺ
μ΄μμΈλΆμ
μ νν κ°μλ₯Ό ꡬνλ€.
WINDOW ν¨μ
GROUP BYμ μ μ΄μ©νμ§ μκ³ ν¨μμ μΈμλ‘ μ§μ ν μμ±μ κ°μ μ§κ³νλ€
WINDOWν¨μμ λ²μλ PARTITION BYμ μ μ§μ ν μμ±μ΄ λλ€.
SELECT
[WINDOWν¨μ OVER (PARTITION BY μμ± ORDER BY μμ±)]
- ROW_NUMBER() : κ° λ μ½λμ λν μΌλ ¨λ²νΈ λ°ν
- RANK() : 곡λ μμ λ°μ
- DENSE_RANK() : 곡λ μμ 무μ
π μμ
SELECT μμ¬λ΄μ, μμ¬κΈ, ROW_NUMBER() OVER (PARTITION BY μμ¬λ΄μ ORDER BY μμ¬κΈ DESC) AS NO
FROM μμ¬κΈ
μμ¬κΈ
ν μ΄λΈμμμμ¬λ΄μ
λ³λ‘μμ¬κΈ
μ λν μΌλ ¨λ²νΈλ₯Ό ꡬνλ€.μμλ λ΄λ¦Όμ°¨μμ΄λ©°, μμ±λͺ μ NO
SELECT μμ¬λ΄μ, μμ¬κΈ, RANK() OVER (PARTITION BY μμ¬λ΄μ ORDER BY μμ¬κΈ DESC) AS μμ¬κΈμμ
FROM μμ¬κΈ
μ§ν©μ°μ°μ
- UNION : ν©μ§ν©
- UNION ALL : μ€λ³΅νμ© ν©μ§ν©
- INTERSECT : κ΅μ§ν©
- EXCEPT : μ°¨μ§ν©
π μμ
SELECT *
FROM μ¬μ
INTERSECT
SELECT *
FROM μ§μ
JOIN
JOINμ λ κ°μ 릴λ μ΄μ μμ μ°κ΄λ ννλ€μ κ²°ν©νμ¬, νλμ μλ‘μ΄ λ¦΄λ μ΄μ μ λ°ννλ€.
- μΌλ°μ μΌλ‘ FROMμ μ κΈ°μ νλ€.
- ν¬κ² INNER JOINκ³Ό OUTER JOINμΌλ‘ ꡬλΆλλ€.