본문 바로가기
데이터분석

[SQL 기본] 요약정리_SELECT, FROM, WHERE

by 규랃 2024. 1. 29.
728x90
반응형

SQL 기본을 마무리하고 그동안 작성했던 글들을 돌아보니 이해를 돕기 위한 설명이나 예시들을 함께 작성하느라 한눈에 보기엔 어렵다는 느낌을 받았습니다. 그래서 이번 글에서는 그동안 배운 내용들을 한 번에 확인할 수 있도록 정리를 해보겠습니다. 아래 내용에는 그동안 전하지 못한 유용한 팁들도 함께 작성해보고자 합니다.

 

0️⃣ 요청사항 쿼리로 번역하기

  • 필요한 데이터는 값과 조건으로 나눌 수 있고 값은 SELECT, 조건은 WHERE에 대응
  • 요청사항: 12월 신규 가입한 사용자 아이디
  • 값: 사용자 아이디
  • 조건: 12월 신규가입

1️⃣ SELECT : 원하는 데이터 조회

  • SELECT 절은 원하는 데이터 값(컬럼값)들을 조회하는 명령어입니다.
  • 컬럼은 쉼표를 통해 여러 개를 나열할 수 있습니다.
SELECT 조회하고자 하는 컬럼값1, 컬럼값2...
FROM 테이블명
  • 원하는 컬럼값을 조회할 때, 별칭을 지정할 수 있습니다. (Alias)
SELECT 
    컬럼값1 AS "별칭"
    , 컬럼값1 별칭
FROM 테이블명

# 위의 두 가지는 모두 같은 결과를 보입니다. 별칭을 붙일 때는 AS와 큰따옴표를 생략할 수 있지만 가독성을 위해 AS는 매번 써주는 것을 추천합니다.
# 별칭에 특수문자나 띄어쓰기가 포함되는 경우에는 꼭 큰따옴표를 붙여야 합니다.
  • SELECT 절에서는 산술연산(+,-,*,/)이 가능합니다
필기구의 실제 구매가격 구하기

SELECT 필기구가격 + 부가세 AS 구매가격
FROM 필통​
필기구 한 다스(12자루) 가격 구하기

SELECT 필기구가격 * 12 AS 한 다스 가격
FROM 필통

 

 

2️⃣ FROM : 원하는 데이터가 있는 테이블

FROM은 내가 원하는 데이터 값이 위치하는 테이블 명을 정의하는 명령어입니다. 

가방 안에 필통이 있는 것처럼 큰 데이터베이스 안에 여러 개의 테이블이 존재하기 때문에 내가 원하는 데이터가 어느 테이블에 있는지 잘 알아야 합니다.

SELECT 꼬리빗
FROM 가방 안에 화장품 파우치

SELECT 컴싸
FROM 가방 안에 필통

3️⃣ WHERE : 특정 조건에 맞는 데이터를 필터링

WHERE 절은 내가 원하는 조건에 부합하는 값을 조회하기 위해 필터링하는 명령어입니다.

WHERE 절에는 비교연산자와 논리연산자를 사용할 수 있고 이를 통해 필터링할 수 있습니다.

 

비교연산자

단일조건에 대한 크기비교나 동등비교를 할 수 있습니다.

  • 크기 비교: <, <=,>=,> 모두 사용 가능
  • 동등 비교: = (같다),!=, <>(같지 않다)
    같지 않다:!=, <> 등 사용 가능
1,000원짜리 필기구 이름 조회하기

SELECT 필기구이름
FROM 필통
WHERE 구매가격 = 1000
1,000원보다 비싼 필기구 이름 조회하기

SELECT 필기구이름
FROM 필통
WHERE 구매가격 > 1000
구매일자가 24년 1월 1일인 필기구 이름 조회하기

SELECT 필기구이름
FROM 필통
WHERE 구매일자 = '2024-01-01'
필기구 종류가 연필이 아닌 필기구 이름 조회하기

SELECT 필기구이름
FROM 필통
WHERE 필기구종류 != '연필'

 

논리연산자

여러 개의 조건을 나열하거나 범위 조건을 정의할 수 있습니다.

  • AND: 여러 조건을 나열할 때 씁니다. AND로 나열된 조건은 교집합이 되어 나열한 모든 조건에 부합하는 행만 출력됩니다. (~~ 이면서)
1,000원짜리이면서 연필인 필기구 이름 조회하기

SELECT 필기구이름
FROM 필통
WHERE 구매가격 = 1000
    AND 필기구종류 = '연필'
  • OR: 여러 조건을 한 번에 조회할 때 씁니다. OR로 나열된 조건은 합집합이 되어 나열한 조건 중 하나라도 부합하는 행이 모두 출력됩니다. (~~ 이거나)
연필이거나 볼펜인 필기구 이름 조회하기

SELECT  필기구이름
FROM 필통
WHERE  필기구종류 = '연필'
    OR 필기구종류 = '볼펜'
  • LIKE: 정확한 조건보다는 특정 패턴을 가진 행을 조회할 때 씁니다. %를 
필기구이름에 "펜"이 들어가는 필기구 이름 조회하기

SELECT 필기구이름
FROM 필통
WHERE 필기구이름 LIKE '%펜%'
  • BETWEEN A AND B: 범위 조건을 조회할 때 씁니다. 
필기구 가격이 1,000~2,000원인 필기구 이름 조회하기

SELECT 필기구이름
FROM 필통
WHERE 필기구가격 1000 AND 2000
  • IS NULL: 컬럼값이 NULL 인 경우를 조회합니다.
  • NOT: 논리연산자와 함께 쓸 수 있고 조건의 여집합을 조회할 때 씁니다.
728x90
반응형