-
[SQL] SQL Query 쿼리문 (1) - SELECT, FROM, WHERE, ORDER BY, GROUP BY, LIMITSQL 2021. 4. 4. 23:01
SQL Query - SELECT, FROM, WHERE, ORDER BY, GROUP BY, LIMIT
1. SELECT & FROM
데이터를 불러오는 쿼리문으로 SELECT column FROM table 형식으로 사용할 수 있습니다.
지정한 테이블에서 해당 칼럼의 데이터를 불러올 수 있습니다.
- 테이블에서 칼럼 불러오기
SELECT Title FROM albums
- 테이블에서 칼럼 여러개 불러오기
SELECT Title, ArtistId FROM albums
- 테이블에서 모든 칼럼을 불러오기 - 칼럼명 자리에 *
SELECT * FROM albums
2. WHERE
쿼리문에서 WHERE 은 필터역할을 합니다.
- 지정한 값 가진 데이터 불러오기
ex) customers 테이블에서 CustomerId 가 62인 데이터의 Address 가져오기
SELECT Address FROM customers WHERE CustomerId = 62
- 지정한 값 제외한 데이터 불러오기
ex) customers 테이블에서 CustomerId 가 62인 데이터 제외하고 나머지의 Address 가져오기
SELECT Address FROM customers WHERE CustomerId <> 62
- 지정한 값보다 크거나 작은(<, >, <=, >=) 데이터 불러오기
ex) customers 테이블에서 CustomerId 가 62 이상인 데이터의 Address 가져오기
SELECT Address FROM customers WHERE CustomerId >= 62
- 지정한 문자열이 들어가는 데이터 불러오기 : LIKE & "%"
ex) artists 테이블에서 Name에 the가 들어가는 데이터의 AlbumId 불러오기
SELECT AlbumId FROM artists WHERE Name LIKE "%the%"
* the로 시작하는 데이터 불러오려면 "the%", the로 끝나는 데이터 불러오려면 "%the" 와 같은 형식으로 사용하면 됩니다.
- 해당 값과 일치하는 값을 필터해서 데이터 불러오기 : IN
ex) albums 테이블에서 ArtistId 가 20, 40, 60 인 AlbumId 불러오기
SELECT AlbumId FROM albums WHERE ArtistId IN ('20', '40', '60')
- 값이 없는 경우인 NULL을 찾거나 제외할 때 : IS
ex) albums 테이블에서 ArtistId 가 Null인 AlbumId 불러오기 (값이 없는 경우)
SELECT AlbumId FROM albums WHERE ArtistId IS NULL
ex) albums 테이블에서 ArtistId 가 Null이 아닌 AlbumId 불러오기 (값이 없는 경우 제외)
SELECT AlbumId FROM albums WHERE ArtistId IS NOT NULL
3. ORDER BY
ORDER BY 는 쿼리문에서 데이터를 정렬해주는 역할을 합니다.
- 오름차순으로 데이터 정렬하기 - ORDER BY 디폴트는 오름차순
SELECT InvoiceId FROM invoices ORDER BY InvoiceId
- 내림차순으로 데이터 정렬하기 : DESC
SELECT InvoiceId FROM invoices ORDER BY InvoiceId DESC
4. GROUP BY
쿼리문에서 GROUP BY는 판다스 groupby와 마찬가지로 데이터를 묶어서 불러올 수 있습니다.
GROUP BY로 묶어진 값들에 대해서는 다음 함수 등을 사용할 수 있습니다.
- COUNT() : 조회된 값의 개수 리턴
- SUM() : 조회된 값의 합 리턴
- AVG() : 조회된 값의 평균 리턴
- MIN(), MAX() : 조회된 값의 최솟값, 최댓값 리턴
- 칼럼 기준으로 데이터 묶어서 불러오기
ex) customers 테이블에서 Country 별 City와 CustomerId 개수(Count) 불러오기
SELECT City, COUNT(CustomerId) FROM customers GROUP BY Country
- GROUP BY 한 결과 필터해서 불러오기 : HAVING
ex) customers 테이블에서 Country 별 CustomerId 갯수(Count)가 25보다 큰 데이터의 City와 CustomerId 개수 불러오기
SELECT City, COUNT(CustomerId) FROM customers GROUP BY Country HAVING COUNT(CustomerId) > 25
- GROUP BY로 생긴 새로운 칼럼의 이름 지정하기 : AS
ex) tracks 테이블에서 GenreId 별 개수(Count) 불러오면서, 해당 칼럼의 이름은 Count_of_Genre로 하기
SELECT COUNT (*) AS Count_of_Genre FROM tracks GROUP BY GenreId
5. LIMIT
쿼리문에서 결과로 받을 데이터의 개수를 정해주는 역할을 하는 것은 LIMIT 입니다.
쿼리문에서 사용할 때는 쿼리문의 마지막에 입력해주어야 합니다.
SELECT Title FROM albums LIMIT 100
'SQL' 카테고리의 다른 글
[MySQL] 프로그래머스 SQL 고득점 Kit -GROUP BY (0) 2021.07.07 [MySQL] 프로그래머스 SQL 고득점 Kit - SUM, MAX, MIN (0) 2021.07.06 [MySQL] 프로그래머스 SQL 고득점 Kit - SELECT (0) 2021.07.05 [SQL] SQL Query 쿼리문 (2) - DISTINCT, JOIN, OUTER JOIN (0) 2021.05.31 [SQL] 데이터베이스 설계 (0) 2021.04.04