SQL

SQL 기초 문법

윤승 2025. 2. 20. 20:52

1주차 강의를 모두 듣고 실습까지 완성했다. 1주차 강의는 SQL의 기본 문법을 배웠다. 대학교에서 아마 3학년 쯤에 배운 것 같다. 왜냐하면 MySQL과목 이였는데, 그과목에서 A+ 받아서 아직도 기억난다(자랑x!)  

 

1.SQL이란?

SQL이란 데이터베이스와 대화를 하기 위한 언어이며, 데이터를 저장,검색,삭제 등을 할 수 있습니다.
비유하면 식당의 직원들이 주문을 받고, 요리를 준비하고, 서빙을 하는 과정과 같다고 생각하면 됩니다.


 

 

  •  SELECT / FROM 문의 기본구조
select *
from payments

 

 payments라는 테이블의 데이터를 조회하는 기본 구조입니다

 

  •  WHERE 절의 개념

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

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

/* 기본 조건은 ‘=’ 을 통하여 줄 수 있습니다. 
고객 (customers) 테이블에서 21살인 사람을 필터링을 하면 아래와 같습니다. */

select *
from customers
where age=21

 

  • (비교연산자, BETWEEN, IN)

비교연산자의종류

  • BETWEEN : A 와 B 사이 - 예시 : 나이가 10 과 20 사이
where age between 10 and 20

  • 기본 문법 : in (A, B, C)

 예시1 : 나이가 15, 21, 31 세인 경우

age in (15, 21, 31)

 

예시2 : 음식 종류가 한식, 일식인 경우

cuisine_type in ('Korean', 'Japanese')

  • LIKE 연산자를 사용하여 특정 문자로 시작(LIKE '김%'), 포함(LIKE '%Next%'), 끝남(LIKE '%임')을 검색할 수 있음.
name like '김%'

restaurant_name like '%Next%'

name like '%임'

 


 

WHERE 절에 여러 조건을 적용하기
여러개의 조건을 적용할 때 사용되는 연산이 ‘논리연산’ 입니다.

 

논리연산자의 종류를 표로 나타냈습니다.

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

 

  • 실습과제

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

 

정답

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

 

과제 설명

- food_orders 테이블에서 restaurant_name(식당 명)customer_id(고객번호) 컬럼만 선택하여 조회함.

- 데이터를 가져올 테이블을 지정함. 여기서는 food_orders 테이블에서 데이터를 조회함.

- food_preparation_time(상품 준비 시간)컬럼에서 을 BETWEEN 20 AND 30을 사용하여 20 이상 그리고 30 이하의 값을 필터링함

- 마지막으로 한국음식점이라고 했으니 cuisine_type = 'Korean' 조건을 추가하여, 위에서 필터링된 데이터 중 음식 유형이 "Korean"인 데이터만 남도록 함


1주차는 아직 쉬운 내용의 SQL 쿼리문만 학습해서, 크게 어렵진 않았다. 

 

'SQL' 카테고리의 다른 글

1:N, M:N 관계에서의 외래키 설계와 테이블 명명법  (0) 2025.04.09
SQL JOIN  (0) 2025.03.31
SQL - 기초 문법 3  (0) 2025.02.24
SQL - 기초 문법2  (0) 2025.02.21