DB

[SQL] 기초 문법 및 기본 개념 - SELECT , FROM, WHERE [1]

기석김 2024. 5. 8. 18:20

 완전 기본에 중점 돼 있다. 처음 시작하시는 분들이 보기에 좋은 글을 만드려고 한다

 

[블로그 학습 목표]

데이터베이스SQL 이 무엇인지 이해한다

SELECT, FROM 문을 이용하여 데이터를 조회한다

WHERE 절을 이용하여 데이터를 필터링한다

 

 

SQL 이란 무엇일까 ? SQL이 무엇이고 왜 필요한가?

• SQL 은 데이터베이스와 대화를 하기 위한 언어

• 필요한 것을 요청할때 데이터베이스에게도 ‘A를 주겠니?’ 라고 이야 기할 때 사용하는 언어

• SQL이란 언어를 이용하여 데이터베이스에 요청을 하는 질의를 ‘Query’ 라고 한다

• 다른 언어와 동일하게 SQL 도 일정한 문법을 갖고 있다

• 기본 구조를 배운다면, SQL 문을 이해하고 잘 사용하는 자신을 발견 할 것이다.

 

SQL 데이터 조회하기 (SELECT, FROM)

• SQL 은 ‘코드’ 가 아니라 데이터베이스에 요청을 하기 위한 ‘언어’ 이므로, 작성 전에 어떤 요청을 할 지 생각해봐야 한다

•  가장 기본적인 사항은 ‘어느 테이블에서 데이터를 가져올까’ 이다

 

원하는 곳에서 데이터를 가져오는 기본 명령어 SELECT, FROM

 

기본 명령어 한 눈에 보기

• SELECT : 데이터를 가져오는 기본 명령어로, 데이터를 조회하는 모든 Query 에 사용됨

• FROM : 데이터를 가져올 테이블을 특정해주는 문법

* : 모든 컬럼을 가져와준다는 의미

 

실습1 ( food_orders 전체 가져오기 )

select *
from food_orders

 

food_orders 테이블

 

실습2 ( payments 전체 가져오기 )

select *
from payments

 

payments 테이블

 

필요한 항목만 뽑아서 사용하기

  테이블의 모든 컬럼이 필요하지 않을 때, 필요한 것만 선택하여 조회 가능하다

  모든 것을 조회한다는 ‘*’ 대신에, 필요한 컬럼만 적어봅시다

 

 예시

select 컬럼1, 컬럼2
from 테이블

예를 들어 food_orders 테이블에서 주문번호와 식당 이름만 필요할 때, 아래와 같이 적습니다

select order_id, restaurant_name
from food_orders

컬럼이 많아서 필요한 정보를 확인하기 어려웠던 것에서, 원하는 컬럼만 조회하는 것으로 바뀐 것을 볼 수 있다

필요한 데이터만 조회했을 때 설명

컬럼에 별명(alias) 을 주기

• 원하는 컬럼만 뽑았지만, 평소에 사용하는 명칭과 다를 때가 있습니다

• 이럴 때 컬럼 명에 별명을 지정하여 변경할 수 있습니다

 

별명 지정 방법 : 컬럼 옆쪽에 별명을 적어줍니다. (아래 두 가지 방법 모두 가능합니다)

- 방법1 : 컬럼1 as 별명1
- 방법2 : 컬럼2 별명2

 

별명 지을 때 유의사항

구분 영문,언더바 특수문자,한글
방법 별명만 적음 "별명"으로, 큰 따옴표 안에 적어줌
예시 ord_no "ord no"
"주문번호"

 

위의 예시에서 ‘주문 번호’ 와 ‘식당 이름’을 조회했는데요,

컬럼명이 너무 길고 영문이라 보기가 어려웠습니다. 이 때 별명을 아래와 같 이 지어줘봅시다.

order_id → ord_no

restaurant_name → 식당 이름

select order_id as ord_no,
 restaurant_name "식당 이름"
from food_orders

실행을 누르면, 컬럼명이 원하는 별명으로 바뀐 것을 확인할 수 있습니다.

 

[실습] 컬럼을 선택하고 별명 지정하기

1. 주문 (food_orders) 테이블에서 order_id, price, quantity 를 가져와서 ord_no, 가격, 수량 으로 별명 지어주기

 

1-1 기본구조를 적어줍니다

select
from

 

1-2 테이블과 가져올 컬럼을 적어줍니다

select order_id,
 price,
 quantity
from food_orders

 

1-3 컬럼에 별명을 줍니다

select order_id ord_no,
 price "가격",
 quantity "수량"
from food_orders

 

1-4 실행결과

 

 

2.고객 (customers) 테이블에서 name, email 을 가져와서 이름, e-mail 으로 별명 지어주기

 

2-1 기본구조를 적어줍니다

select
from

 

2-2 테이블과 가져올 컬럼을 적어줍니다

select name,
 email
from customers

 

2-3 컬럼에 별명을 줍니다

select name "이름",
 email "e-mail"
from customers

 

2-4 실행결과

 

조건에 맞는 데이터로 필터링하기 (WHERE 이란)

 

WHERE 절의 개념

• 데이터 중에 특정 조건을 필터링 해야할 때가 있습니다

• ’나이가 21살인 사람’ 과 같은 경우, 엑셀 혹은 다른 툴을 이용하여 필터링을 한 경험이 있으실겁니다

• SQL 의 ‘WHERE’ 문법을 이용하면 전체 데이터 중 원하는 데이터만 필터링을 할 수 있습니다

 

WHERE 의 구조

select *
from 테이블
where 필터링 조건 (eg. 20살 이상)

 

• 기본 조건은 ‘=’ 을 통하여 줄 수 있습니다.

고객 (customers) 테이블에서 21살인 사람을 필터링을 하면 아래와 같습니다

select *
from customers
where age=21

 

21세인 고객들만 조회됩니다

 

• 필터링은 숫자가 아닌 문자에도 사용 가능합니다. 문자를 사용할 때는 작은 따옴표를 사용합니다

• 고객 (customers) 테이블에서 여성을 필터링하면 아래와 같습니다

 

select *
from customers
where gender='female'

여성 고객들만 조회됩니다

 

[실습] WHERE 절을 이용한 필터링

1.주문 (food_orders) 테이블에서 한국음식을 주문한 경우만 조회하기

 

1-1 기본구조를 적어줍니다.

select
from
where

 

1-2 데이터를 가져올 테이블을 적어줍니다

select *
from food_orders
where

 

1-3 한국음식 조건을 지정합니다

select *
from food_orders
where cuisine_type='Korean'

 

1-4 실행결과

 

 

2.결제 (payments) 테이블에서 카드로 결제한 경우만 조회하기

 

2-1 기본구조를 적어줍니다

select
from
where

 

2-2 데이터를 가져올 테이블을 적어줍니다

select *
from payments
where

 

2-3 결제수단 조건을 지정합니다

select *
from payments
where pay_type='card'

 

2-4 실행결과