2주 전 완강했던 SQL 강의이지만,
빅분기 시험이 끝나고 나니 머리가 초기화된 기분.
주차별로 복습 후 차근차근 정리해둬야겠다.
- 1주차
SQL(Structured Query Language)은 데이터베이스를 직접적으로 액세스할 수 있는 언어로,
데이터를 정의하고(Data Definition, DDL),
조작하며(Data Manipulation, DML),
조작한 결과를 적용하거나 취소할 수 있고(Transaction Control, TCL),
접근 권한을 제어하는(Data Control, DCL) 처리들로 구성된다.
#테이블: '엑셀 파일'과 같이 행과 열로 이루어진 표.
#칼럼: 테이블의 각 열을 지칭, '속성, Attribute'
SQL은 '코드'가 아니라 DB에 요청하기 위한 '언어'
작성 전에 어떤 요청을 할 지 생각해봐야 함!
(가장 기본적인 사항은 '어느 테이블에서 데이터를 가져올까')
☑️ 원하는 곳에서 데이터를 가져오는 기본 명령어 SELECT, FROM
#SELECT: 데이터를 가져오는 기본 명령어
#FROM: 데이터를 가져올 테이블을 특정해주는 문법
+) * : 모든 컬럼을 가져와준다는 의미
☑️ 원하는 컬럼을 선택하여 SELECT 뒤에 작성.
#테이블에서 컬럼1과 컬럼2 조회
select 컬럼1, 컬럼2
from 테이블
;
☑️ 컬럼에 별명(alias) 주기
방법1 : 컬럼1 as 별명1
방법2 : 컬럼2 별명2
☑️ WHERE 절의 개념
#전체 데이터 중 원하는 데이터만 필터링
select *
from 테이블
where 필터링 조건 (eg. 20살 이상)
;
#기본 조건은 '='를 통해 줄 수 있다.
select *
from customers
where age=21
;
☑️ 비교연산자 종류
☑️ 다양한 조건의 종류
#BETWEEN: A와 B 사이
-BETWEEN A and B
# 나이가 20과 30 사이
where age between 20 and 30
#IN: '포함'하는 조건
-IN(A,B,C)
#1: 나이가 25,31,34 인 경우
age in (25, 31, 34)
#2: 음식 종류가 한식, 일식인 경우
cuisine_type in ('Korean', 'Japanese')
#LIKE: 완전히 똑같지는 않지만, 비슷한 값을 조건으로 주기
-LIKE : '시작문자%', '%포함문자%', '%시작문자'
#1: '백'으로 시작하는 이름
name like '백%'
#2: 식당 이름에 '맛있는'을 포함하는 경우
restaurant_name like '%맛있는%'
#3: '골목식당'으로 끝나는 식당이름
restaurant_name like '%골목식당'
☑️ 논리연산의 종류
상품 준비시간이 20~30분 사이인, 한국음식점의 식당명과 고객번호 조회하기
☑️
☑️ 작성 답안
SELECT restaurant_name, customer_id
FROM food_orders
WHERE food_orders.food_preparation_time BETWEEN 20 AND 30
AND cuisine_type = 'Korean'
☑️ POINT!
SQL문은 SELECT 부터 작성하지만,
1. FROM (~테이블에서)
2. WHERE(~조건에 맞는 데이터들 중)
3. SELECT (~를 조회)
위 1~3번의 순서대로 읽어낸다.
가장 기본적인 내용이지만
어떤 개념이든 기초를 제대로 잡아놓지 않으면
응용할 수 없음을 명심하기!