All :L

8μž₯ SQL μ‘μš© (DML - SELECT (1/2)) λ³Έλ¬Έ

CODING/BOJ

8μž₯ SQL μ‘μš© (DML - SELECT (1/2))

ofijwe 2023. 4. 15. 15:44
λ°˜μ‘ν˜•

[DML - SELECT]

πŸ’‘ SELECT λͺ…λ Ήμ–΄λž€?

SELECT

 

: ν…Œμ΄λΈ”μ—μ„œ νŠœν”Œμ„ κ²€μƒ‰ν•˜λŠ” λͺ…λ Ή

πŸ“Œ 일반 ν˜•μ‹
SELECT [PREDICATE] [ν…Œμ΄λΈ”λͺ….]속성λͺ… [AS 별칭][, [ν…Œμ΄λΈ”λͺ….]속성λͺ…, ]
[, κ·Έλ£Ήν•¨μˆ˜(속성λͺ…) [AS 별칭]]
[, Windowν•¨μˆ˜ OVER (PRAPRIRION BY 속성λͺ…1, 속성λͺ…2, 
    ORDER BY 속성λͺ… 3, 속성λͺ…4, )]
FROM ν…Œμ΄λΈ”λͺ…[, ν…Œμ΄λΈ”λͺ…, ]
[WHERE 쑰건]
[GROUP BY 속성λͺ…, 속성λͺ…, ]
[HAVING 쑰건]
[ORDER BY 속성λͺ… [ASC | DESC]];

πŸ’‘ 검색 λ°©λ²•μ—λŠ” μ–΄λ–€ 것듀이 μžˆμ„κΉŒ?

κΈ°λ³Έ 검색

 

: SELECT μ ˆμ— μ›ν•˜λŠ” 속성을 μ§€μ •ν•˜μ—¬ 검색

  • <사원> ν…Œμ΄λΈ”μ˜ λͺ¨λ“  νŠœν”Œ κ²€μƒ‰ν•˜λŠ” 예제
    # μ˜ˆμ‹œ 1 πŸ‘©πŸ»‍πŸ’»
    SELECT * FROM 사원;
    # μ˜ˆμ‹œ 2 πŸ‘©πŸ»‍πŸ’»
    SELECT 사원.* FROM 사원;
    # μ˜ˆμ‹œ 3 πŸ‘©πŸ»‍πŸ’»
    SELECT 이름, λΆ€μ„œ, 생이λ₯΄ μ£Όμ†Œ, κΈ°λ³ΈκΈ‰ FROM 사원;
    # μ˜ˆμ‹œ 4 πŸ‘©πŸ»‍πŸ’»
    SELECT 사원.이름, 사원.λΆ€μ„œ, 사원.생일, 사원.μ£Όμ†Œ, 사원.κΈ°λ³ΈκΈ‰ FROM 사원;
  • <사원> ν…Œμ΄λΈ”μ—μ„œ 'μ£Όμ†Œ'만 κ²€μƒ‰ν•˜λ˜ 같은 'μ£Όμ†Œ'λŠ” ν•œ 번만 좜λ ₯ν•˜λŠ” 예제
    # μ˜ˆμ‹œ 1 πŸ‘©πŸ»‍πŸ’»
    SELECT DISTINCT μ£Όμ†Œ
    FORM 사원;
  • <사원> ν…Œμ΄λΈ”μ—μ„œ 'κΈ°λ³ΈκΈ‰'에 νŠΉλ³„μˆ˜λ‹Ή 10을 λ”ν•œ 월급을 "XXλΆ€μ„œμ˜ XXX의 μ›”κΈ‰ XXX" ν˜•νƒœλ‘œ 좜λ ₯ν•˜λŠ” 예제
    # μ˜ˆμ‹œ 1 πŸ‘©πŸ»‍πŸ’»
    SELECT λΆ€μ„œ + 'λΆ€μ„œμ˜' AS λΆ€μ„œ2, 이름 + '의 μ›”κΈ‰' AS 이름2, κΈ°λ³ΈκΈ‰ + 10 AS κΈ°λ³ΈκΈ‰2
    FROM 사원;

쑰건 지정 검색

 

: WHERE μ ˆμ— 쑰건을 지정해 쑰건에 λ§Œμ‘±ν•˜λŠ” νŠœν”Œλ§Œ 검색

  • <사원> ν…Œμ΄λΈ”μ—μ„œ "기획" λΆ„μ„œμ— κ·Όλ¬΄ν•˜λ©΄μ„œ "λŒ€ν₯동"에 μ‚¬λŠ” μ‚¬λžŒμ˜ νŠœν”Œμ„ κ²€μƒ‰ν•˜λŠ” 예제
    # μ˜ˆμ‹œ 1 πŸ‘©πŸ»‍πŸ’»
    SELECT *
    FROM 사원
    WHERE λΆ€μ„œ='기획' AND μ£Όμ†Œ='λŒ€ν₯동';
  • <사원> ν…Œμ΄λΈ”μ—μ„œ 성이 'κΉ€'인 μ‚¬λžŒμ˜ νŠœν”Œ 검색
    # μ˜ˆμ‹œ 1 πŸ‘©πŸ»‍πŸ’»
    SELECT *
    FORM 사원
    WHERE 이름 LIEK "κΉ€%";
    [LIKE μ—°μ‚°μž]
    • % : λͺ¨λ“  문자 λŒ€ν‘œ
    • _ : ν•˜λ‚˜μ˜ 문자 λŒ€ν‘œ
    • # : 숫자 ν•˜λ‚˜ λŒ€ν‘œ
  • <사원> ν…Œμ΄λΈ”μ—μ„œ '생일'이 '01/01/69'μ—μ„œ '12/31/73' 사이인 νŠœν”Œ 검색
    # μ˜ˆμ‹œ 1 πŸ‘©πŸ»‍πŸ’»
    SELECT *
    FROM 사원
    WHERE BETWEEN #01/01/69# AND #12/31/73#;
  • <사원> ν…Œμ΄λΈ”μ—μ„œ 'μ£Όμ†Œ'κ°€ NULL인 νŠœν”Œ 검색
    # μ˜ˆμ‹œ 1 πŸ‘©πŸ»‍πŸ’»
    SELECT *
    FROM 사원
    WHERE μ£Όμ†Œ IS NULL;

μ •λ ¬ 검색

 

: ORDER BY μ ˆμ— νŠΉμ • 속성을 μ§€μ •λœ μ†μ„±μœΌλ‘œ μ •λ ¬ν•˜μ—¬ 검색

  • <사원> ν…Œμ΄λΈ”μ—μ„œ 'λΆ€μ„œ'λ₯Ό κΈ°μ€€μœΌλ‘œ μ˜€λ¦„μ°¨μˆœ μ •λ ¬ν•˜κ³ , 같은 'λΆ€μ„œ'에 λŒ€ν•΄μ„œλŠ” '이름'을 κΈ°μ€€μœΌλ‘œ λ‚΄λ¦Όμ°¨μˆœ μ •λ ¬μ‹œμΌœ 검색
    # μ˜ˆμ‹œ 1 πŸ‘©πŸ»‍πŸ’»
    SELECT *
    FROM 사원
    ORDER BY λΆ€μ„œ ASC, 이름 DESC;

πŸ’‘ ν•˜μœ„ μ§ˆμ˜λž€?

ν•˜μœ„ 질의

 

: μ‘°κ±΄μ ˆμ— 주어진 질의λ₯Ό λ¨Όμ € μˆ˜ν–‰ν•΄ κ·Έ 검색 κ²°κ³Όλ₯Ό 쑰건절의 ν”Όμ—°μ‚°μžλ‘œ μ‚¬μš©ν•˜λŠ” 것

  • 'μ·¨λ―Έ'κ°€ "λ‚˜μ΄νŠΈλŒ„μŠ€"인 μ‚¬μ›μ˜ '이름'κ³Ό 'μ£Όμ†Œ'λ₯Ό 검색
    # μ˜ˆμ‹œ 1 πŸ‘©πŸ»‍πŸ’»
    SELECT 이름, μ£Όμ†Œ
    FROM 사원
    WHERE 이름=(SELECT 이름 FROM μ—¬κ°€ν™œλ™ WHERE μ·¨λ―Έ='λ‚˜μ΄νŠΈλŒ„μŠ€');
  • μ·¨λ―Έν™œλ™μ„ ν•˜μ§€ μ•ŠλŠ” 사원 검색
    # μ˜ˆμ‹œ 1 πŸ‘©πŸ»‍πŸ’»
    SELECT *
    FROM 사원
    WHERE 이름 NOT IN (SELECT 이름 FROM μ—¬κ°€ν™œλ™)
  • "망원동"에 κ±°μ£Όν•˜λŠ” μ‚¬μ›λ“€μ˜ 'κΈ°λ³ΈκΈ‰'보닀 적은 'κΈ°λ³ΈκΈ‰'을 λ°›λŠ” μ‚¬μ›μ˜ 정보 검색
    # μ˜ˆμ‹œ 1 πŸ‘©πŸ»‍πŸ’»
    SELECT *
    FROM 사원
    WHERE κΈ°λ³ΈκΈ‰ < ALL (SELECT κΈ°λ³ΈκΈ‰ FROM 사원 WHERE μ£Όμ†Œ = "망원동");
     - ALL() : ν•˜μœ„ 질의둜 κ²€μƒ‰λœ λ²”μœ„λ₯Ό κΈ°λ³Έ 질의 쑰건으둜 μ‚¬μš©
λ°˜μ‘ν˜•
Comments