SQL

[SQL]SQL의 개요

코딩로봇 2025. 1. 14. 15:44

SQLD 자격증 공부 당시에 습득한 지식들을 다시 되뇌인다는 느낌으로 간단한 문법들을 다시 상기시키고 기초부터 다시 살펴 보았다.

 

우선 SQL을 정확히 왜 배우고 어디에 써야하는지부터 고민해보았다.

 

 

 

 

SQL 이 무엇이고 왜 필요한가요?


  • SQL 은 데이터 베이스와 대화를 하기 위한 언어이다.
  • SQL 이란 언어를 이용하여 데이터 베이스에 요청을 하는 질의를 'Query' 라고 한다.
  • SQL은 관계형 데이터베이스를 다루는데 쓰이는 '표준화된' 언어이다.실제로 많은 프로젝트에서, 앱의 주요 데이터를 저장하는 DBMS(Database Management System)를 SQL 언어를 사용해서 다룬다.

SQL 실습을 위해 DBeaver 과 MySQL을 사용하였고 데이터는 스파르타 코딩클럽에서 제공되는 자료를 이용하였다.

 

1주차에는 가장 기본인 SELECT,FROM,WHERE 절을 배우고 WHERE절을 사용한 필터링 표현(비교연산,BETWEEN,IN,LIKE,논리연산)을 배운다.

 

기본 명령어(SELECT,FROM)

  • SELECT:데이트를 가져오는 기본 명령어로,데이터를 조회하는 모든 Query에 사용됨
  • FROM:데이터를 가져올 테이블을 특정해주는 문법
  • *:모든 컬럼을 가져와준다는 의미
select *
from food_orders

 

* 원하는 컬럼명을 쓰고 싶을땐 어떻게 해야할까?

원하는 컬럼만 뽑았지만, 평소에 사용하는 명칭과 다를 때가 있다. 이럴 때 컬럼 명에 별명을 지정하여 변경할 수 있다.

as 라는 문법을 사용하면되는데 alias(별명)이라는 뜻이다.

ex)

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

 

WHERE절을 이용한 필터링

  • WHERE: 전체 데이터 중 원하는 데이터만 필터링을 할 수 있다.

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

select *
From customers
WHERE age>=40

 

2.주문(food_orders)테이블에서 주문 금액이 15000원 미만인 고객 조회하기

select *
from food_orders
where price<15000

 

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

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

 

4.결제 (payments) 테이블에서 카드로 결제했거나,vat 율이 0.2 이하인 경우 조회

select *
from payments
where pay_type = 'card' or vat<=0.2

 

1주차 마무리 문제

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

select restaurant_name,customer_id

from food_orders

where food_preparation_time between 20 and 30

and cuisine_type='korean'