20220214_SQL 기초 4 (서브 쿼리와 alias)
2022. 2. 17.ㆍ공부/SQL, R
728x90
JAVA의 중첩 반복문처럼, 쿼리문 또한 중첩해서 작성할 수 있다. 이전에 SELECT 문으로 작성하여 조회했던 자료의 범위 안에서 새롭게 데이터를 탐색하고 싶다면, 새로 작성하는 쿼리문에서는 WHERE 절에 이전에 작성해두었던 SELECT문을 집어넣어 중첩 형태로 작성한다.
1. 가입 일자가 2021년 이후인 사람 중 가장 먼저 가입한 사람의 가입일을 조회한다.
SELECT min(reg_date) FROM userTbl WHERE reg_date > '2021-01-01';
2. 가입 일자가 2021년 이후인 사람 중 가장 먼저 가입한 사람의 키를 조회한다.
SELECT height FROM userTbl WHERE reg_date = (SELECT min(reg_date) FROM userTbl WHERE reg_date > '2021-01-01');
또, SQL에서 SELECT를 해올 때 별칭(alias)을 사용하기도 하는데, 이는 컬럼명 뿐 아니라 서브쿼리에도 적용이 가능하다. alias는 길이가 30자까지 가능하나 짧을수록 더욱 좋으며, AS라는 명령어를 통해 보통 별칭을 지정하지만 생략하는 경우도 있다.
SELECT user_id as '회원아이디', gender as '성별', reg_date as '가입일' FROM userTbl; // 컬럼명에 별칭 붙여 조회
SELECT user_id, avg(amount * price) as '평균구매금액' FROM buyTbl GROUP BY user_id; // 함수에 별칭 붙여 조회
아래 코드블럭은 별칭을 사용할 때 생략하는 경우이다.
SELECT 컬럼명 별칭 FROM 테이블명
'공부 > SQL, R' 카테고리의 다른 글
20220215_SQL 기초 5(SQL 구문의 분류, INSERT로 자료 넣는 3가지 방법, TRUNCATE로 로그 남기지 않고 빠르게 삭제) (0) | 2022.02.17 |
---|---|
20220214_SQL 기초 4 (GROUP BY와 집계함수) (0) | 2022.02.17 |
[Mysql] Mac의 CMD에서 Mysql 이용하기 (0) | 2022.02.16 |
20220211_SQL 기초 3 (AUTO_INCREMENT, FOREIGN KEY(외래키), 범위 조회, LIKE 연산자) (0) | 2022.02.16 |
20220210_SQL 기초 2 ( 특정 데이터 조회, 데이터 수정, 데이터 삭제) (0) | 2022.02.11 |