βοΈ Programmers MySQL μ λ΅λ₯ 85~87% μ 체 νμ΄
1οΈβ£ μ€λ κΈ°κ° λ³΄νΈν λλ¬Ό (1) (https://school.programmers.co.kr/learn/courses/30/lessons/59044)
# λ°©λ² (1) : Join κ³Όμ μμ ON μ¬μ©
SELECT AI.NAME, AI.DATETIME
FROM ANIMAL_INS AS AI
LEFT JOIN ANIMAL_OUTS AS AO # 보νΈμ ν
μ΄λΈμ κΈ°μ€μΌλ‘ μ
μ ν
μ΄λΈ join
ON AI.ANIMAL_ID = AO.ANIMAL_ID
WHERE AO.ANIMAL_ID IS NULL # μ
μ ν
μ΄λΈμ id μμ±μ΄ null -> μμ§ μ
μλμ§ μμμμ μλ―Έ
ORDER BY AI.DATETIME # λ³΄νΈ μμμΌ μμΌλ‘ λμ΄
LIMIT 3; # μμ 3κ°λ§ κ°μ§κ³ μ΄
# λ°©λ² (2) : Join κ³Όμ μμ USING μ¬μ©
SELECT AI.NAME, AI.DATETIME
FROM ANIMAL_INS AS AI
LEFT JOIN ANIMAL_OUTS AS AO
USING (ANIMAL_ID) # ANIMAL_ID λ‘ Join
WHERE AO.ANIMAL_ID IS NULL
ORDER BY AI.DATETIME
LIMIT 3;
μ°Έκ³ μλ£ : https://yoo-hyeok.tistory.com/98
[MySQL] Join κΉλν μ΄ν΄μ μ¬μ©λ²
μλ¨μ κ·Έλ¦Ό μ λ§ μ λ¦¬κ° μ λμ΄ μμ΅λλ€. μ²μ μ ν λ λ³΄κ³ λ μ κ²λκ° μΆμλλ° μ΄μ¬μμ μ μ₯μμ μ΄ν΄νκΈ° μ½λλ‘ μ€λͺ ν΄λ³΄λ €ν©λλ€. 1. LEFT JOIN A, B ν μ΄λΈ μ€μ Aκ°μ μ 체μ, Aμ KEY κ°
yoo-hyeok.tistory.com
2οΈβ£ κ°μλμ μμΉν μμ°κ³΅μ₯ λͺ©λ‘ μΆλ ₯νκΈ° (https://school.programmers.co.kr/learn/courses/30/lessons/131112)
SELECT FACTORY_ID, FACTORY_NAME, ADDRESS
FROM FOOD_FACTORY
WHERE ADDRESS LIKE "κ°μλ%"
ORDER BY FACTORY_ID;
3οΈβ£ 보νΈμμμ μ€μ±νν λλ¬Ό (https://school.programmers.co.kr/learn/courses/30/lessons/59045)
# λ°©λ² (1)
SELECT AO.ANIMAL_ID, AO.ANIMAL_TYPE, AO.NAME
FROM ANIMAL_INS AS AI
RIGHT JOIN ANIMAL_OUTS AS AO
ON AI.ANIMAL_ID = AO.ANIMAL_ID
WHERE AO.SEX_UPON_OUTCOME NOT LIKE "Intact%"
AND AI.SEX_UPON_INTAKE LIKE "Intact%" # λ€μ΄μ¬ λλ μ€μ±νx AND λκ°μλ μ€μ±νo 쑰건 μΆκ°
ORDER BY AO.ANIMAL_ID;
# λ°©λ² (2)
SELECT AO.ANIMAL_ID, AO.ANIMAL_TYPE, AO.NAME
FROM ANIMAL_INS AS AI
RIGHT JOIN ANIMAL_OUTS AS AO
ON AI.ANIMAL_ID = AO.ANIMAL_ID
WHERE AI.SEX_UPON_INTAKE != AO.SEX_UPON_OUTCOME # λ¨μν μ νκ° λ€λ₯Έκ±Έλ‘λ νμΈ κ°λ₯
ORDER BY AO.ANIMAL_ID;
4οΈβ£ κ²½κΈ°λμ μμΉν μνμ°½κ³ λͺ©λ‘ μΆλ ₯νκΈ° (https://school.programmers.co.kr/learn/courses/30/lessons/131114)
SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, IF(FREEZER_YN IS NULL, "N", FREEZER_YN)
# IF λ¬Έ νμ© : NULL μ΄λ©΄ "N" μ λλ¨Έμ§λ μλκ° μΆλ ₯
FROM FOOD_WAREHOUSE
WHERE ADDRESS LIKE "κ²½κΈ°λ%"
ORDER BY WAREHOUSE_ID;
https://like099.tistory.com/35 μ 3λ²μμ λ€μν NULL μ²λ¦¬ νμΈ κ°λ₯ (IFNULL, ISNULL)
5οΈβ£ μ€λ κΈ°κ° λ³΄νΈν λλ¬Ό (2) (https://school.programmers.co.kr/learn/courses/30/lessons/59411)
# λ°©λ² (1) _ λΉμΆ
SELECT I.ANIMAL_ID, I.NAME
FROM ANIMAL_INS AS I
RIGHT JOIN ANIMAL_OUTS AS O
ON I.ANIMAL_ID = O.ANIMAL_ID
WHERE I.ANIMAL_ID IS NOT NULL
ORDER BY (I.DATETIME - O.DATETIME) ASC # μ¬λ°λ₯Έ κ³μ°λ²μ΄ μλ
LIMIT 2;
# λ°©λ² (2) _ μΆμ²
SELECT I.ANIMAL_ID, I.NAME
FROM ANIMAL_INS AS I
RIGHT JOIN ANIMAL_OUTS AS O
ON I.ANIMAL_ID = O.ANIMAL_ID
WHERE I.ANIMAL_ID IS NOT NULL
ORDER BY DATEDIFF(O.DATETIME, I.DATETIME) DESC # μ§μ§λ‘ μ°¨μ΄λλ μΌμλ₯Ό λ°ν
LIMIT 2;
6οΈβ£ μμλλ°μ μμμ΅λλ€ (https://school.programmers.co.kr/learn/courses/30/lessons/59043)
# λ°©λ² (1) : TIMEDIFF μ¬μ©
SELECT I.ANIMAL_ID, I.NAME
FROM ANIMAL_INS AS I
LEFT JOIN ANIMAL_OUTS AS O
USING (ANIMAL_ID)
WHERE O.ANIMAL_ID IS NOT NULL
AND TIMEDIFF(O.DATETIME, I.DATETIME) < 0
ORDER BY I.DATETIME;
# λ°©λ² (2) : TIMESTAMPDIFF μ¬μ©
SELECT I.ANIMAL_ID, I.NAME
FROM ANIMAL_INS AS I
LEFT JOIN ANIMAL_OUTS AS O
USING (ANIMAL_ID)
WHERE O.ANIMAL_ID IS NOT NULL
AND TIMESTAMPDIFF(SECOND, I.DATETIME, O.DATETIME) < 0
ORDER BY I.DATETIME;'SQL π¬' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| (Programmers) SQL νμ΄ (6) (0) | 2022.10.24 |
|---|---|
| (Programmers) SQL νμ΄ (5) (0) | 2022.10.23 |
| (Programmers) SQL νμ΄ (4) (0) | 2022.10.21 |
| (Programmers) SQL νμ΄ (2) (0) | 2022.10.17 |
| (Programmers) SQL νμ΄ (1) (0) | 2022.10.14 |