코드 그라데이션
[얄코] MySQL 1-2. 각종 연산자들 본문
1-2강. 각종 연산자들
사칙연산
연산자 | 의미 |
+, -, *, / | 더하기, 빼기, 곱하기, 나누기 |
%, MOD | 나머지 |
1)
SELECT 1 + 2;
실행 결과
2)
SELECT 5 - 2.5 AS DIFFERENCE;
실행 결과
3)
SELECT 3 * (2 + 4) / 2, 'Hello';
실행 결과
4)
SELECT 10 % 3;
실행 결과
문자열에 사칙연산을 가하면 0으로 인식
5)
SELECT 'ABC' + 3;
실행 결과
6)
SELECT 'ABC' * 3;
실행 결과
7)
SELECT '1' + '002' * 3;
-- 숫자로 구성된 문자열은 숫자로 자동인식
실행 결과
8)
SELECT
OrderID, ProductID, OrderID + ProductID
FROM OrderDetails;
실행 결과
9)
SELECT
ProductName,
Price / 2 AS HalfPrice
FROM Products;
실행 결과
------------------------------
참 거짓 관련 연산자
연산자 | 의미 |
IS | 양쪽 모두 TRUE 또는 FALSE |
IS NOT | 한쪽은 TRUE, 다른 한 쪽은 FALSE |
AND, && | "그리고" / 양쪽 모두 TRUE여야 결과는 TRUE |
OR, || | "또는" / 한쪽이 TRUE면 결과는 TRUE |
= | 양쪽 값이 같음 |
!= , <> | 양쪽 값이 다름 |
>, < | 크다 또는 작다 |
>=, <= | 크거나 같다 또는 작거나 같다 |
BETWEEN {MIN} AND {MAX} | 두 값 사이에 있음 |
NOT BETWEEN {MIN} AND {MAX} | 두 값 사이가 아닌 곳에 있음 |
IN (...) | 괄호 안 값들 가운데 있음 |
NOT IN (...) | 괄호 안 값들 가운데 없음 |
LIKE '...%...' | 0~N개 문자를 가진 패턴 |
LIKE '..._...' | _의 개수만큼 문자를 가진 패턴 |
MySQL에서는 TRUE를 1, FALSE를 0으로 인식한다.
1)
SELECT TRUE, FALSE;
실행 결과
2)
SELECT !TRUE, NOT 1, !FALSE, NOT FALSE;
실행 결과
3)
SELECT 0 = TRUE, 1 = TRUE, 0 = FALSE, 1 = FALSE;
실행 결과
4) (조건에 만족되는 것) 전부 출력됨.
SELECT * FROM Customers WHERE TRUE;
실행 결과
5) 아무것도 출력되지 않음.
SELECT * FROM Customers WHERE FALSE;
실행 결과
6)
SELECT TRUE IS TRUE;
실행 결과
7)
SELECT TRUE IS NOT FALSE;
실행 결과
8)
SELECT (TRUE IS FALSE) IS NOT TRUE;
=> FALSE is NOT TRUE
실행 결과
9)
SELECT TRUE AND FALSE, TRUE OR FALSE;
=> 0 , 1
실행 결과
10)
SELECT 2 + 3 = 6 OR 2 * 3 = 6;
=> TRUE OR TRUE
실행 결과
11)
SELECT * FROM Orders
WHERE
CustomerId = 15 AND EmployeeId = 4;
실행 결과
12)
SELECT * FROM Products
WHERE
ProductName = 'Tofu' OR CategoryId = 8;
실행 결과
13)
SELECT * FROM OrderDetails
WHERE
ProductId = 20
AND (OrderId = 10514 OR Quantity = 50);
실행 결과
14)
SELECT 1 = 1, !(1 <> 1), NOT (1 < 2), 1 > 0 IS NOT FALSE;
실행 결과
15)
SELECT 'A' = 'A', 'A' != 'B', 'A' < 'B', 'A' > 'B';
실행 결과
16)
SELECT 'Apple' > 'Banana' OR 1 < 2 IS TRUE;
실행 결과
MySQL의 기본 사칙연산자는 대소문자 구분을 하지 않습니다.
17)
SELECT 'A' = 'a';
실행 결과
18)
SELECT
ProductName, Price,
Price > 20 AS EXPENSIVE
FROM Products;
실행 결과
테이블의 값이 아닌 값으로 선택하기
19)
SELECT
ProductName, Price,
NOT Price > 20 AS CHEAP
FROM Products;
실행 결과
20)
SELECT 5 BETWEEN 1 AND 10;
실행 결과
21)
SELECT 'banana' NOT BETWEEN 'Apple' AND 'camera';
실행 결과
22)
SELECT * FROM OrderDetails
WHERE ProductID BETWEEN 1 AND 4;
실행 결과
23)
SELECT * FROM Customers
WHERE CustomerName BETWEEN 'b' AND 'c';
실행 결과
24)
SELECT 1 + 2 IN (2, 3, 4)
실행 결과
25)
SELECT 'Hello' IN (1, TRUE, 'hello')
실행 결과
26)
SELECT * FROM Customers
WHERE City IN ('Torino', 'Paris', 'Portland', 'Madrid')
실행 결과
27)
SELECT
'HELLO' LIKE 'hel%',
'HELLO' LIKE 'H%',
'HELLO' LIKE 'H%O',
'HELLO' LIKE '%O',
'HELLO' LIKE '%HELLO%',
'HELLO' LIKE '%H',
'HELLO' LIKE 'L%'
실행 결과
28)
SELECT
'HELLO' LIKE 'HEL__',
'HELLO' LIKE 'h___O',
'HELLO' LIKE 'HE_LO',
'HELLO' LIKE '_____',
'HELLO' LIKE '_HELLO',
'HELLO' LIKE 'HEL_',
'HELLO' LIKE 'H_O'
실행 결과
29)
SELECT * FROM Employees
WHERE Notes LIKE '%economics%'
실행 결과
30)
SELECT * FROM OrderDetails
WHERE OrderID LIKE '1025_'
실행 결과
class Solution {
public int solution(int hp) {
int a = 0;
int b = 0;
int c = 0;
//hp = 5a + 3b + 1c
a = hp / 5;
b = (hp % 5) / 3;
c = ((hp % 5) % 3) / 1;
return a+b+c;
}
}
728x90
'Database > SQL' 카테고리의 다른 글
[얄코] MySQL 2-3.집합으로 다루기 (0) | 2023.06.11 |
---|---|
[얄코] MySQL 1-5.조건에 따라 그룹으로 묶기 (0) | 2023.06.10 |
[얄코] MySQL Section 1-1. SELECT의 전반 기능 알아보기 (0) | 2023.06.09 |
Order by, Group by 이렇게 코드를 작성하면 편하다 (0) | 2023.02.06 |
[팁] 이렇게 쿼리를 작성하면 편하다 (0) | 2023.01.24 |
Comments