프로그래머스 SQL
❗ oracle과 mysql 섞여있음
[SELECT]
-
🐶 SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID ASC;
-
🐶 SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC;
-
🐶 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION=’Sick’;
-
🐶 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION != ‘Aged’;
-
🐶 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS;
-
🐶 SELECT ANIMAL_ID, NAME, DATETIME FROM ANIMAL_INS ORDER BY NAME ASC, DATETIME DESC;
-
🐶 SELECT NAME FROM ANIMAL_INS ORDER BY DATETIME ASC LIMIT 1;
[SUM, MAX, MIN]
-
🐰 SELECT DATETIME FROM ANIMAL_INS ORDER BY DATETIME DESC LIMIT 1;
🐰 SELECT MAX(DATETIME) FROM ANIMAL_INS;
-
🐰 SELECT MIN(DATETIME) FROM ANIMAL_INS;
-
🐰 SELECT COUNT(ANIMAL_ID) FROM ANIMAL_INS;
-
🐰 SELECT COUNT(DISTINCT(NAME)) FROM ANIMAL_INS;
[GROUP BY]
-
SELECT ANIMAL_TYPE, COUNT(ANIMAL_ID) AS count FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE ASC;
-
SELECT NAME, COUNT(NAME) AS COUNT FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME) >= 2 ORDER BY NAME ASC;
-
SELECT HOUR(DATETIME) AS HOUR, COUNT(HOUR(DATETIME)) AS COUNT FROM ANIMAL_OUTS GROUP BY HOUR HAVING HOUR >= 9 AND HOUR <= 19 ORDER BY HOUR ASC;
[IS NULL]
-
🐷 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL ORDER BY ANIMAL_ID ASC;
-
🐷 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL ORDER BY ANIMAL_ID ASC;
-
🐷 SELECT ANIMAL_TYPE, NVL(NAME, ‘No name’), SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID ASC;
[JOIN]
-
SELECT O.ANIMAL_ID, O.NAME FROM ANIMAL_INS I ,ANIMAL_OUTS O WHERE I.ANIMAL_ID (+) = O.ANIMAL_ID AND I.ANIMAL_ID IS NULL ORDER BY ANIMAL_ID;
-
SELECT I.ANIMAL_ID, I.NAME FROM ANIMAL_INS I, ANIMAL_OUTS O WHERE I.ANIMAL_ID = O.ANIMAL_ID AND O.DATETIME < I.DATETIME ORDER BY I.DATETIME ASC;
-
SELECT I.NAME, I.DATETIME FROM ANIMAL_INS I LEFT JOIN ANIMAL_OUTS O ON I.ANIMAL_ID = O.ANIMAL_ID WHERE O.ANIMAL_ID IS NULL ORDER BY I.DATETIME LIMIT 3;
-
SELECT O.ANIMAL_ID, O.ANIMAL_TYPE, O.NAME FROM ANIMAL_INS I LEFT JOIN ANIMAL_OUTS O ON I.ANIMAL_ID = O.ANIMAL_ID WHERE O.ANIMAL_ID IS NOT NULL AND I.SEX_UPON_INTAKE LIKE 'Intact %' AND (O.SEX_UPON_OUTCOME LIKE 'Spayed %' OR O.SEX_UPON_OUTCOME LIKE 'Neutered %') ORDER BY O.ANIMAL_ID ASC;
[String, Date]
-
SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME IN ('Ella', 'Lucy', 'Pickle', 'Rogan', 'Sabrina', 'Mitty');
-
SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE NAME LIKE '%el%' AND ANIMAL_TYPE = 'Dog' ORDER BY NAME ASC;
-
SELECT ANIMAL_ID, NAME, CASE WHEN SEX_UPON_INTAKE LIKE 'Neutered%' OR SEX_UPON_INTAKE LIKE 'Spayed%' THEN 'O' ELSE 'X' END AS '중성화' FROM ANIMAL_INS ORDER BY ANIMAL_ID ASC;
-
SELECT O.ANIMAL_ID, O.NAME FROM ANIMAL_INS I LEFT JOIN ANIMAL_OUTS O ON I.ANIMAL_ID = O.ANIMAL_ID WHERE O.ANIMAL_ID IS NOT NULL ORDER BY O.DATETIME - I.DATETIME DESC LIMIT 2;
-
SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, '%Y-%m-%d') AS '날짜' FROM ANIMAL_INS ORDER BY ANIMAL_ID;
[중첩질의]
-
SELECT DISTINCT(CART_ID) FROM CART_PRODUCTS WHERE CART_ID IN ( SELECT CART_ID FROM CART_PRODUCTS WHERE NAME = 'Milk' ) AND NAME = 'Yogurt' ORDER BY CART_ID ASC;