엑셀보다 쉽고 빠른 SQL 1주차
1. SQL 이란
2. DVeaver 설치하기
3. 데이터 조회해보기(SELECT)
4.필요한 항목만 조회하기(원하는 컬럼)
5. 컬럼명을 별명으로 바꿔 조회하기
6. 조건문 사용해보기(WHERE)
7. 조건문 필터링 함수
8. 여러개의 조건으로 필터링하여 조회하기 (AND, OR)
9. 다양한 에러 해결하기
10. 과제
1. SQL( Structured Query Language )이란
사전 정의: 데이터베이스 시스템에서 자료를 처리하는 용도로 사용되는 구조적 데이터 질의 언어
데이터 베이스와 대화를 하기 위한 언어
- SQL == Query
2. DVeaver 설치하기
DVeaver

운영체제에 맞는 파일을 다운로드한다!




Server host : sparta.cbt9ceqjwlr9.ap-northeast-2.rds.amazonaws.com
작성 후 Test Connect..


데이터베이스 == 폴더
파일 == 테이블(엑셀 파일과 같은 행과 열 형태)
열 == 컬럼 == 필드
예시 테이블 종류
food_orders : 음식 주문 정보 테이블
payments : 결제 정보 테이블
customers : 고객 정보 테이블
3. 데이터 조회해보기(SELECT)

SELECT *
FROM food_orders;

SELECT : 데이터를 조회 하는 기본 명령어
FROM : 어떤 테이블에서 가져올지 테이블을 정해주는 문법
* : 해당 테이블의 모든 데이터를 조회
실습
1. payments 테이블의 데이터 조회하기
SELECT *
FROM payments;

2. customers 테이블의 데이터 조회하기
SELECT *
FROM customers;

4. 필요한 항목만 조회하기(원하는 컬럼)
SELECT restaurant_name,addr
FROM food_orders;

SELECT 컬럼1, 컬럼2
FROM 테이블명;
원하는 컬럼을 조회하는 SQL문
5. 컬럼명을 별명으로 바꿔 조회하기
방법1 :SELECT 컬럼1 as 별명1
방법2 :SELECT 컬럼2 별명2
SELECT restaurant_name as "음식점",addr address
FROM food_orders;
별명이 영어 또는 영어+언더바 일 경우는 별명만 적음.
address 또는 add_ress
별명이 한글 또는 특수문자가 포함된 경우 큰 따옴표 안에 적어줌.
"음식점" 또는 "add ress"

실습 2
1.주문 (food_orders) 테이블에서 order_id, price, quantity 를 가져와서 ord_no, 가격, 수량 으로 별명 지어주기
SELECT order_id ord_no,
price "가격",
quantity "수량"
FROM food_orders;

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

6. 조건문 사용해보기(WHERE)
예시) customers테이블에서 21살인 고객을 조회
SELECT *
FROM customers
WHERE age=21;

예시2) 남성고객들만 조회
SELECT *
FROM customers
WHERE gender="male";

WHERE절의 구조
SELECT *
FROM 테이블명
WHERE 조건;
실습
1.주문 (food_orders) 테이블에서 한국음식을 주문한 경우만 조회하기
SELECT *
FROM food_orders
WHERE cuisine_type="Korean";

2.결제 (payments) 테이블에서 카드로 결제한 경우만 조회하기
SELECT *
FROM payments
WHERE pay_type ="card";

7. 조건문 필터링 함수

그 외의 BETWEEN, IN, LIKE
BETWEEN
기본 문법 : between a and b
a와b의 사이
IN
in (A, B, C)
A,B,C 인경우
LIKE
- 특정한 문자로 시작하는 경우
- 기본 문법 : like ‘시작문자%’
- 특정한 문자를 포함하는 경우
- 기본 문법 : like ‘%포함문자%’
- 특정한 문자로 끝나는 경우
- 기본 문법 : like ‘**%**끝나는문자’
실습
1.고객 (customers) 테이블에서 나이가 40세 이상인 고객 조회하기
SELECT *
FROM customers
WHERE age >=40;

2. 주문 (food_orders) 테이블에서 주문 금액이 15,000원 미만인 고객 조회하기
SELECT *
FROM food_orders
WHERE price<15000;

3. 주문 (food_orders) 테이블에서 주문 금액이 20,000~30,000원 사이인 고객 조회하기
SELECT *
FROM food_orders
WHERE price BETWEEN 20000 and 30000 ;

4. 주문 (food_orders) 테이블에서 B 로 시작하는 상점의 주문 조회하기
SELECT *
FROM food_orders
WHERE restaurant_name LIKE "B%";

5. 고객 (customers) 테이블에서 윤주아, 정현준 인 이름이 포함된 고객 조회하기
SELECT *
FROM customers
WHERE name in("윤주아","정현준");

8. 여러개의 조건으로 필터링하여 조회하기 (AND, OR)

예시) 고객정보 테이블에서 나이가 21살 이상이고(and) 성별이 남자인 데이터 조회
SELECT *
FROM customers
WHERE age >= 21
AND gender ="male";

실습
1. 주문 (food_orders) 테이블에서 한국음식이면서, 가격이 30,000원 이상인 경우 조회
SELECT *
FROM food_orders
WHERE cuisine_type ="Korean"
AND price >=30000;

2. 결제 (payments) 테이블에서 카드로 결제했거나, vat 율이 0.2 이하인 경우 조회
SELECT *
FROM payments
WHERE pay_type ="card"
OR vat <=0.2;

9. 다양한 에러 해결하기



10. 과제
상품 준비시간이 20~30분 사이인, 한국음식점의 식당명과 고객번호 조회하기
- - 조회해야 할 컬럼 특정하기
- - ‘사이’ 조건 : BETWEEN
- - 특정 조건 지정 : =
- - 복수의 조건 지정 : AND
SELECT restaurant_name,customer_id
FROM food_orders
WHERE food_preparation_time BETWEEN 20 AND 30
AND cuisine_type = "Korean";

후기!
SQL문에 익숙했지만 많이 까먹어서 복습에 아주 큰 도움이 되었다!
까먹지 않도록 자주 실습하고, 복습해야겠다!