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 |