안녕하세요~ 오늘도 프로그래머스 문제들을 풀어보면서 공부한 쿼리문들에 관해서 정리해보겠습니다~!!
1. ORDER BY절
▷ 데이터를 정렬할 때 사용하는 쿼리문
◎ 사용법
1. WHERE절 제외한 정렬
SELECT 컬럼1, 컬럼2, ... FROM 테이블명 ORDER BY 컬럼1 [ASC/DESC], 컬럼2 [ASC/DESC], ...;
▷ 원하는 컬럼들을 선택해서 출력할 때 컬럼1, 컬럼2 기준으로 정렬할 수 있습니다.
▷ ASC(오름차순), DESC(내림차순 - 역순)
▷ 첫 번째 작성한 컬럼1 기준으로 먼저 정렬하고 동일한 값이 있다면 컬럼2 기준으로 정렬합니다.
◎ 예시SELECT title, content FROM board ORDER BY title ASC, ID DESC;
▷ board 테이블에 id, title, content가 있다고 하면 title 기준으로 오름차순 정렬을 먼저합니다.
▷ title이 동일하다면 ID를 기준으로 내림차순 정렬합니다.
2. WHERE절 포함한 정렬SELECT 컬럼1, 컬럼2, ... FROM 테이블명 WHERE 컬럼1 = 값1 and 컬럼2 = 값2, ORDER BY 컬럼1 [ASC/DESC], 컬럼2 [ASC/DESC], ...;
▷ WHERE절은 ORDER BY 앞쪽에 작성하시면 됩니다!
▷ ORDER BY절을 여러개 사용할 때는 WHERE과 다르게 콤마(,)로 구분할 수 있습니다.
▶ WHERE 절은 and(여러 조건을 동시에 만족), or(여러 조건 중 하나만 만족) 등으로 구분합니다.
▷ WHERE절을 사용할 때 주의 사항// ID = 2 인 것을 모두 찾습니다. WHERE ID = 2; // ID가 2가 아닌 것을 모두 찾습니다. WHERE ID != 2;
2. IN절
▷ WHERE절에서 사용되며, 주어진 목록 중 하나와 일치하는 값을 선택하는 데에 사용하는 쿼리문
◎ 사용법
1. IN절 사용 예시1
SELECT * FROM 테이블명 WHERE 컬럼1 IN (조건1, 조건2, 조건3);
▷ 테이블의 컬럼1=값1 또는 값2 또는 값3인 조건에 해당하는 데이터들을 조회할 수 있습니다.
◎ 예시
SELECT title FROM board WHERE id in (1, 2, 5);
▷ board 테이블에 id, title, content가 있다고 하면 id가 1, 2, 5에 해당하는 title을 출력합니다.
2. IN절 사용 예시2
SELECT * FROM 테이블명 WHERE 컬럼1 IN (SELECT * FROM 테이블명 WHERE 컬럼1=조건1);
▷ 위와 같이 IN절을 SELECT문을 사용해서 조회할 수 있습니다.
◎ 예시SELECT NAME FROM ANIMAL_INS WHERE DATETIME IN ( SELECT MIN(DATETIME) FROM ANIMAL_INS);
▷ ANIMAL_INS 테이블의 NAME을 조회하는데 DATETIME이 최소(가장 빠른)인 NAME만 출력합니다.
프로그래머스 LEVEL1 문제들을 풀어보고 필요한 쿼리문들을 하나씩 정리해보니 사용하는 방법들에 대해 좀 더 잘 알 수 있어서 좋네요!!
IN절 같은 경우는 사용하는 방법이 좀 어렵긴한데 자주 사용하다 보면 익숙해지겠어요~!
많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~