프로그래머스 SQL 문제들을 풀며 기억해야 하는 명령어 형식에 대해 모아 놓아 보았다.
역순 정렬
SELECT NAME,DATETIME from animal_ins order by ANIMAL_ID desc;
해당 조건이 아닌 것만 고르기
SELECT NAME,DATETIME from animal_ins where Condition != "Aged";
SELECT ANIMAL_ID,NAME from animal_ins
이름 정렬, 동일한 경우엔 datetime 이 '느린순'
SELECT ANIMAL_ID,NAME,DATETIME from animal_ins ORDER BY name, DATETIME desc;
상위 1개만 출력하기
SELECT NAME from animal_ins order by datetime limit 1;
이름의 갯수 구하기. (null 제외)
SELECT count(distinct name) as count from animal_ins where name is not null;
그룹에 따른 카운트 하기
SELECT ANIMAL_TYPE, count(ANIMAL_TYPE) as count from animal_ins group by ANIMAL_TYPE order by ANIMAL_TYPE asc;
이름 그룹별로 조건 달아서 출력
SELECT NAME,count(name) from animal_ins group by name having count(name) > 1 order by name asc;
A엔 있고 B엔 없는 레코드 찾기
SELECT a.ANIMAL_ID,a.NAME from animal_outs as a where a.animal_id not in (select b.animal_id from animal_ins as b);
이너조인한 뒤 비교 조건
SELECT a.ANIMAL_ID,a.NAME from animal_ins as a join animal_outs as b on a.ANIMAL_ID = b.animal_id and a.datetime > b.datetime order by a.datetime;
아우터 조인 후 정렬
SELECT a.NAME,a.DATETIME from animal_ins as a where a.animal_id not in (select animal_id from animal_outs) order by a.datetime asc limit 3;
두 테이블에서 서로 다른 컬럼의 값을 비교해 찾기
SELECT i.animal_id,i.ANIMAL_TYPE,i.name from animal_ins i join animal_outs o on i.animal_id = o.animal_id where SEX_UPON_INTAKE != SEX_UPON_OUTCOME;
해당 STRING 을 가지는 튜플 찾기
SELECT ANIMAL_ID,NAME,SEX_UPON_INTAKE from animal_ins where name in ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty');
이름에 EL 이 들어가는 튜플찾기
SELECT ANIMAL_ID,NAME FROM ANIMAL_INS WHERE NAME LIKE '%el%' AND ANIMAL_TYPE = 'Dog' ORDER BY NAME;
'프로그래밍 > 기억노트' 카테고리의 다른 글
[python] pycharm: byte literal contains characters > 255 에러 해결 (0) | 2021.03.25 |
---|---|
[python] 문자열 list의 문자열들의 '\n' newline 지우기 (0) | 2021.01.11 |
[python] n진법 수를 10진법 수로, 10진법 수를 n진법 수로 (0) | 2020.10.16 |
[python] 코딩 테스트 약점 정리 (0) | 2020.10.09 |
[python] union 연산으로 노드 집합 관계 구하기 (0) | 2020.10.07 |