ABOUT ME

공부한 것, 기억할 것들을 기록합니다.

  • [SQL] SQL Query 쿼리문 (1) - SELECT, FROM, WHERE, ORDER BY, GROUP BY, LIMIT
    SQL 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

     

     

     

     

     

     

Designed by Tistory.