MYSQL 복습하기 연산자

Yono·2022년 2월 23일
1

MySQL에서의 사칙연산

해당복습에서의 이미지는 헷갈렸던 부분만 이미지첨부가 되어있다.

사칙연산

MySQL에서의 사칙연산들이 존재한다.

  • 더하기 +
  • 빼기 -
  • 곱하기 *
  • 나누기 /
  • 나머지 %,MOD

✏️ 문자열에 사칙연산을 하는 경우는 0 으로 인식한다.

SELECT 'ABC' + 92

을 하게되면

위와 같이 0 으로 인식되어 92가 나온 것을 확인할수 있다.

곱하기도 마찬가지로 0으로 인식되어 0이 나온 것을 확인할수 있다.

참/거짓(Boolean)

✏️ MySQL에서 TRUE는 1 , FALSE는 0으로 저장된다.

참/거짓 과 관련된 연산자로는 IS, IS NOT이 존재하고

  • IS는 양쪽이 모드 TRUE 또는 FALSE를 의미하고
  • IS NOT은 한쪽은 TRUE, 한쪽은 FALSE를 의미한다.

또한 다른 언어와 마찬가지로 논리 연산자도 존재한다.

  • AND,&& 양쪽이 모두 TRUE일때만 TRUE
  • OR,|| 한쪽만 TRUE 여도 TRUE

AND연산자

``SQl
SELECT 7+7 =14 AND 76=42
--라고하면 7+7 = 14는 TRUE고 7
6=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로 출력되었음을 확인할 수있다.

profile
Java,Spring,JavaScript

0개의 댓글