해당복습에서의 이미지는 헷갈렸던 부분만 이미지첨부가 되어있다.
MySQL에서의 사칙연산들이 존재한다.
✏️ 문자열에 사칙연산을 하는 경우는 0 으로 인식한다.
SELECT 'ABC' + 92
을 하게되면
위와 같이 0 으로 인식되어 92가 나온 것을 확인할수 있다.
곱하기도 마찬가지로 0으로 인식되어 0이 나온 것을 확인할수 있다.
✏️ MySQL에서 TRUE는 1 , FALSE는 0으로 저장된다.
참/거짓 과 관련된 연산자로는 IS, IS NOT이 존재하고
또한 다른 언어와 마찬가지로 논리 연산자도 존재한다.
``SQl
SELECT 7+7 =14 AND 76=42
--라고하면 7+7 = 14는 TRUE고 76=42는 TRUE 이므로 둘다 TRUE이르모 TRUE를 반환한다.
### OR연산자는
```MYSQL
SELECT 7+7 =14 OR 7*6=92
--라고하면 7+7 = 14는 TRUE고 7*6=92는 FALSE이지만 OR연산자 이므로 TRUE를 반환한다.
= 는 양쪽 값이 같음을 의미한다.
!= 는 양쪽 값이 다름을 의미한다.
(>,<)는 (왼쪽,오른쪽) 값이 더 큼을 의미한다.
(>=,<=) (왼쪽,오른쪽) 값이 같거나 더큼을 의미한다.
✏️ MYSQL의 기본사칙 연산자는 대소문자 구분이 없다.
BETWEEN {MIN} AND {MAX}는 두 값 사이에 있음
NOT BETWEENT {MIN} AND {MAX} 두값사이가 아님
위와 같이 92란 숫자는 1과 100 사이에 있으므로 1 TRUE가 나왔다.
위와 같은 쿼리문이지만 NOT을 추가하면
위와 같이 0 FALSE가 나온것을 확인할 수 있다.
IN(...) 은 (...) 괄호 안의 값들 중 있음 NOT IN(...)은 (...) 괄호 안의 값들 중 없음
SELECT 6+9 IN (10,11,12,13,14,15,16)
과거 SQL을 배울때 가장 헷갈려했던 부분 LIKE연산자이다.
LIKE '...%...' 0~N개 문자를 가진 패턴 LIKE '..._...' _갯수만큼의 문자를 가진 패턴
위와 같이 SELECT * FROM Customers WHERE City LIKE 's%';는
Customers 테이블에서 City 도시명이 S로 시작하는 데이터를 조회한 것이다.
위와 같이 SELECT * FROM Customers WHERE City LIKE '%o';는
Customers 테이블에서 City 도시명이 o로 끝나는 데이터를 조회한 것이다.
위와 같이 SELECT * FROM Customers WHERE City LIKE 'L%n';는
Customers 테이블에서 City 도시명이 L로 시작해서 n으로 끝나는 데이터를 조회한 것이다.
🤢 제일 헷갈렸던 부분인데 %% 가 두개 사용되는 것이다.
위와같이 SELECT * FROM Customers WHERE City LIKE '%on%';는
LIKE뒤에 '%on%'이 사용되었고 City도시명에서 on이 포함된 데이터를 조회하여 Lond(on), Barcel(on)a, M(on)treal 이 조회 되었음이 보여준다.
위와같이 SELECT * FROM Customers WHERE City LIKE 'Londo';는
Londo 으로 시작하는 것을 조회해왔고.
위와같이 사용시 조회한 결과물이 없었다.
동일하게 London을 조회하게 하려면 __을 두개넣어 조회하면 London을 조회할 수 있다.
on으로 끝나느 것으로도 London을 조회 할 수 있는데 위와 동일하다.
SELECT * FROM Customers WHERE City LIKE '_n';은 n으로 끝나는 것을 조회한 것이므로 Berlin로 출력되었음을 확인할 수있다.