3장. 데이터 생성, 조회, 수정, 삭제하기
- 데이터가 많으면 많을수록 데이터를 잘 골라내는게 중요합니다.
- SQL에는 다양한 데이터 필터링들이 존재합니다.
📗 데이터 필터링의 개념
- 데이터 필터링이란 원하는 데이터만 걸러내는 작업을 뜻합니다.
- 주로 WHERE절을 통해서 필터링 작업을 수행할 수 있습니다.
- WHERE절은 UPDATE, DELETE 등의 수정, 삭제 뿐 만 아니라 SELECT 같은 데이터 조회문에도 쓰이는 범용적인 절입니다.
- 조건을 설정에 그에 해당하는 튜플을 특정할 수 있습니다.
SELECT 칼럼명1, 칼럼명2 ...
FROM 테이블명
WHERE 조건부
SELECT name
FROM coffees
WHERE id = 1

📌 비교 연산자
- WHERE절을 사용할땐 = 연산자 이외에도 다양한 비교 연산자를 통해 튜플을 특정할 수 있습니다.
- 비교 연산자는 두 값을 비교하는 연산자로 다음과 같은 연산자들이 있습니다.
비교 연산자
= : (같다)
!= : (같지 않다)
> : (크다)
>= : (크거나 같다)
< : (작다)
<= : (작거나 같다)

- 위의 사진을 보면 price가 4000원 보다 큰 튜플들을 특정하는 WHERE절을 사용해 필터링이 적용된 것을 확인할 수 있습니다.
📌 논리 연산자
- 만약 비교연산자가 2개 이상 필요한 WHERE절에선 어떻게 필터링을 해야할까요?
- 논리 연산자를 사용하면 2개 이상의 조건을 합쳐서 필터링을 할 수 있습니다.
- SQL에선 다음과 같은 논리 연산자들이 존재합니다.
논리 연산자
AND : 조건들이 모두 해당하는 경우
OR : 조건들 중 하나라도 해당하는 경우
NOT : 조건들이 모두 해당하지 않는 경우



📌 산술 연산자
- 산술 연산자는 사칙 연산을 위한 연산자입니다.
- 산술 연산자엔 다음과 같은 연산자들이 있습니다.
산술 연산자
+ : 더하기
- : 빼기
(*) : 곱하기(마크다운 때문에 ()를 추가했습니다. 연산자는 * 입니다.
/ : 나누기
% : 나머지
- 산술 연산자는 WHERE절과 SELECT절에서 사용할 수 있는데 특히, SELECT절에서 사용할 시 연산으로 얻은 새로운 칼럼을 출력할 수 있습니다.


📌 연산자 우선순위
- 연산자 우선순위란 어떤 연산자를 먼저 수행할지 그 우선순위를 정한 것 입니다.
- 하나의 쿼리에 여러 연산자를 사용할게 될 경우 연산자의 우선순위에 순위가 높은 것 부터 낮은 것 순으로 진행되기 때문에 의도한 연산대로 동작시키기 위해선 연산자의 우선순위를 고려해서 설계해야 합니다.
- 연산자의 우선순위는 다음과 같습니다.
연산자 우선순위
1. ()
2. NOT
3. /, *, %
4. +, -
5. =, !=, >, >=, <, <=
6. AND
7. OR
📗 데이터 필터링 실습
- programming을 programing이라고 실수로 표기했습니다 ㅎ.ㅎ;
1. 데이터셋 만들기

2. 모든 과목 성적이 90점 이상인 학생 찾기

3. 75점 미만이 하나라도 있는 학생 찾기

4. 모든 학생의 총점 구하기

5. 모든 학생의 평균 구하기

6. 총점이 270 이상인 학생의 닉네임, 총점, 평균 출력하기

📌 AS 키워드
- 앞의 실습을 보면 총 점을 구하는 칼럼명이 "math + english + programing"이라고 되어있는 것을 볼 수 있습니다.
- 이에 대해 따로 별칭을 주고 싶다면 AS키워드를 통해 별칭을 부여할 수 있습니다.
SELECT math + english + programing AS total
FROM university

- 만약 AS 키워드를 사용할때 특수문자(!, @, #, $, %, ^, &, *, (, )) 등을 사용하려 한다면 별칭을 그대로 적지 않고 작은따옴표'' 로 감싸줘야 합니다.
SELECT math + english + programing AS 'total-score'
FROM university

📗 셀프체크
0. burgers 테이블 만들기

1. 가격이 6000원 이상, 7000원 이하인 버거의 모든 칼럼 조회하기

2. 열량이 500 미만이거나 단백질량이 25 이상인 버거의 모든 칼럼 조회하기

3. 모든 버거의 100g당 가격 조회하기

4. 100g당 가격이 2,500 미만인 버거 조회하기

5. 1000원당 들어있는 단백질량 조회하기

6. 1000원당 들어있는 단백질량이 5 이상인 버거 조회하기
