내일배움캠프_QAQC 1기/SQL

SQL_1주차

이지응:) 2025. 1. 15. 13:20

강의 자료 : [KDC] 엑셀보다 쉽고 빠른 SQL - 1주차

 

SQL이 무엇인지 배우고, SELECT, FROM문을 사용해 실습해 보고, 추가로 WHERE 절을 이용하여 실습해 보는 시간을 가졌습니다.

DBeaver를 사용하여 실습을 진행하였습니다.

 

SQL이란?

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

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

데이터베이스에 요청을 할 때 Query 작성이라는 말을 사용

 

데이터베이스

데이터가 저장되어 있는 큰 폴더

데이터베이스라는 폴더가 있고 그 안에 테이블이라는 파일이 있다고 생각하면 됨

파일은 엑셀 파일처럼 생김

각 열을 컬럼 또는 필드라고 함

 

SELECT, FROM

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

SELECT : 데이터를 조회하는 모든 쿼리에 사용됨

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

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

 

기본 문법

select *
from food_orders

 

 

원하는 컬럼 선택

select order_id, restaurant_name
from food_orders

food_orders 테이블에서 order_id, restaurant_name 커럼을 선택하여 조회

 

컬럼에 별명 추가

컬럼 옆에 별명 작성하여 컬럼명 변경

구분 영문, 언더바 특수문자, 한글

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

 

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

 

EX)

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

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

 

 

WHERE 절

데이터 중 원하는 데이터 필터링

구조

select *
from 테이블
where 필터링 조건

 

고객 (customers) 테이블에서 21살인 사람을 필터링

select *
from customers
where age=21

 

필터링은 숫자, 문자 모두 사용 가능

문자를 사용할 때는 작은 따옴표 사용

대소문자 구분 없이 사용 가능

 

고객 (customers) 테이블에서 여성을 필터링

select *
from customers
where gender='female'

 

 

필터링 할 때 유용한 표현( 비교연산, BETWEEN, IN, LIKE)

 

비교연산

비교연산자 의미 예시
= 같다 age=21
gender=’female’
<> 같지 않다 (다르다) age<>21
gender<>’female’
> 크다 age>21
>= 크거나 같다 age>=21
< 작다 age<21
<= 작거나 같다 age<=21

 

나이가 21세 미만인 고객 조회

select *
from customers
where age<21

 

BETWEEN

나이가 10과 20 사이

where age between 10 and 20

 

IN

포함하는 조건 추가

나이가 15, 21, 31인 경우

age in (15, 21, 31)

 

LIKE

완전히 똑같지는 않지만 비슷한 값을 조건으로 추가

김으로 시작하는 이름

name like '김%'

식당 이름에 Next를 포함

restaurant_name like '%Next%'

임으로 끝나는 이

name like '%임'

 

 

EX) 고객 (customers) 테이블에서 나이가 40세 이상인 고객 조회하기

select *
from customers
where age>=40

 

EX) 주문 (food_orders) 테이블에서 B 로 시작하는 상점의 주문 조회하기

select *
from food_orders
where restaurant_name like 'B%'

 

논리연산

논리연산자 의미 예시
AND 그리고 age>20 and gender=’female’
→ 나이가 20세 이상이고, 여성
OR 또는 age>20 or gender=’female’
→ 나이가 20세 이상이거나, 여성
NOT 아닌 not gender=’female’
→ 여성이 아닌

 

EX) 주문 (food_orders) 테이블에서 한국음식이면서, 가격이 30,000원 이상인 경우 조회

select *
from food_orders
where cuisine_type='Korean' and price>=30000

 

 

숙제

상품 준비시간이 20~30분 사이인, 한국음식점의 식당명과 고객번호 조회하기

select restaurant_name, customer_id
from food_orders
where food_preparation_time between 20 and 30
  and cuisine_type='Korean'

'내일배움캠프_QAQC 1기 > SQL' 카테고리의 다른 글

SQL 5주차  (0) 2025.01.17
SQL 4주차  (0) 2025.01.16
SQL 3주차  (0) 2025.01.16
SQL 2주차  (0) 2025.01.16