SQL문의 가장 기본이 되는 구문으로,
아래와 같이 이름을 간소화하기 위해 AS를 이용한다.
atable as a
b table b
SELECT 구문
SELECT select_list [ INTO new_table ]
[ FROM table_source ] [ WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]
가장 자주 쓰이는 기본적인 형태는 아래와 같다.
SELECT select_list [ INTO new_table ]
[ FROM table_source ] [ WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]
SELECT [열]
FROM [테이블]
WHERE [조건]
주로 사용하는 테이블 조회 시, 사용하는 문장으로,
열 이름에 있는 열을 불러와 조건에 맞도록 데이터를 보여준다.
전체 열을 보고 싶다면 SELECT * FROM table 처럼 *을 사용하여 전체 열을 확인할 수 있다.
WEHRE 부분은 생략이 가능하고,
SELECT * FROM table [WHERE 조건]
조건이 없다면 전체 데이터를 찾는다.
SELECT .. INTO .. FROM .. WHERE
SELECT select_list [ INTO new_table ]
[ FROM table_source ] [ WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]
SELECT [열] INTO [새 테이블]
FROM [테이블]
WHERE [조건]
INTO가 포함될 경우, 조건에 맞는 기존 테이블의 열 내용을 새 테이블로 가져와 테이블을 만든다.
간단한 예로 열 목록만 가져오는 방법이 있다.
SELECT * INTO [새 테이블] FROM [복사할테이블] WHERE 1=2
WHERE 조건에 1=2를 한 이유는, 거짓된 조건을 줬는데, 다른 거짓 문장도 상관없다.
조건이 거짓이기 때문에 열에 있는 데이터는 가져오지 않고
새 테이블에 기존 테이블의 모든 열만 가져와 형식만 같은 테이블을 만든다.
테이블 형식을 복사한 것과 같다.
GROUP BY
말 그대로 그룹으로 묶어주는 역할을 한다.
SELECT select_list [ INTO new_table ]
[ FROM table_source ] [ WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]
SELECT [열, 열, 집계열]
FROM [기존 테이블]
WHERE [조건]
GROUP BY [그룹열,그룹열]
HAVING [그룹조건]
SELECT에 그룹열이 2개면 GROUP BY에도 2개를 적는다.
ORDER BY
SELECT select_list [ INTO new_table ]
[ FROM table_source ] [ WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]
가져온 결과를 ORDER BY 문을 통해 정렬할 수 있다.
select * from 테이블 [where 조건] order by 열 | asc | desc
테이블에 있는 모든 열을 가져와 ORDER BY에 지정된 열을 기준으로 정렬됩니다.
기본 값은 ASC 오름차순 정렬으로, 아무런 ASC나 DESC를 정해주지 않은 경우에는 오름차순 정렬이 된다.
JOIN
SELECT 열1, 열2
FROM 테이블1
JOIN 테이블2
ON 조건
JOIN만 존재하는 것은 내부 조인 INNER 조인이 기본값이다.
조인에서는 데이블도 DB도 헷갈릴 수 있기에, AS를 자주 쓴다.
AS a,
AS b 로 만들어
a.column
b.column 처럼 사용한다.
예시
select a.userid, b.money
from usertable as a
join banktable as b
on a.userid=b.userid
'공부' 카테고리의 다른 글
[BigQuery] 빅쿼리 데이터 구조 및 기본적인 사용방법과 문법 (0) | 2024.09.13 |
---|---|
파이썬의 enumerate() 내장 함수로 for 루프 돌리기 (1) | 2024.09.12 |
[Learning Spark] Chapter 4 : 스파크 SQL과 데이터 프레임 : 내장 데이터 소스 소개 (1) | 2024.09.01 |
[Learning Spark] Databricks 을 통해 notebook 및 cluster 생성 방법 (2) | 2024.09.01 |
SQL INSERT INTO 문 이해하기 (0) | 2024.08.30 |