์ฐ์ ์ฐ์ฐ์
SELECT 1 + 2;
SELECT 5 - 2.5 AS DIFFERENCE;
SELECT 3 * (2 + 4) / 2, 'Hello';
SELECT 10 % 3;
SELECT 'ABC' + 3; -- 3
SELECT '1' + '002' * 3; -- 7
SELECT OrderID + ProductID
FROM OrderDetails;
SELECT ProductName, Price / 2 AS HalfPrice
FROM Products;
SQL
๋ณต์ฌ
โข
+, -, *, /
โข
DIV : ๋๋ ํ ์์ ๋ถ๋ถ์ ๋ฒ๋ฆผ
โข
% ๋๋ MOD : ๋๋ ํ ๋๋จธ์ง๋ฅผ ๋ฐํํจ
โข
โ๋ฌธ์์ด' + 1 = 1 (๋ฌธ์์ด์ 0์ผ๋ก ์ธ์)
โข
โ1โ + โ002โ * 3 = 7 (์ซ์๋ก๋ ๋ฌธ์์ด์ ์ซ์๋ก ์ธ์)
โข
์ซ์ ๊ฐ์ ๊ฐ์ง ์ปฌ๋ผ์ผ๋ก๋ ๊ณ์ฐ ๊ฐ๋ฅ
๋์
์ฐ์ฐ์
UPDATE Reservation
SET RoomNum = 504;
SQL
๋ณต์ฌ
โข
= ๋ ์ผ์ชฝ ํผ์ฐ์ฐ์์ ์ค๋ฅธ์ชฝ ํผ์ฐ์ฐ์๋ฅผ ๋์
ํจ
โข
(SET๋ฌธ์ด๋ UPDATE๋ฌธ์ SET์ ์์๋ง ๋์
์ฐ์ฐ์๋ก ์ฌ์ฉ๋๊ณ ๊ทธ ์ธ์๋ ๋น๊ต ์ฐ์ฐ์๋ก ํด์)
โข
:= ๋ ์ผ์ชฝ ํผ์ฐ์ฐ์์ ์ค๋ฅธ์ชฝ ํผ์ฐ์ฐ์๋ฅผ ๋์
ํจ
์ฐธ, ๊ฑฐ์ง ์ฐ์ฐ์
SELECT TRUE, FALSE; -- 1, 0
SELECT !TRUE, NOT 1, !FALSE, NOT FALSE; -- 0, 0, 1, 1
SELECT TRUE IS TRUE; -- 1
SELECT TRUE IS NOT FALSE; -- 1
SELECT (TRUE IS FALSE) IS NOT TRUE; -- 1
SQL
๋ณต์ฌ
โข
TRUE = 1, FALSE = 0 ์ผ๋ก ๋ค๋ฃฌ๋ค
โข
= ๋ฅผ IS๋ก ์ฌ์ฉ ๊ฐ๋ฅ
โข
! = ๋ฅผ IS NOT์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅ
โข
()๋ ๋จผ์ ์ฐ์ฐ
๋
ผ๋ฆฌ ์ฐ์ฐ์
SELECT TRUE AND FALSE, TRUE OR FALSE; -- 0, 1
SELECT 2 + 3 = 6 OR 2 * 3 = 6; -- 1
SELECT *
FROM OrderDetails
WHERE ProductId = 20 AND (OrderId = 10514 OR Quantity = 50);
SQL
๋ณต์ฌ
โข
AND = && , OR = ||
โข
AND๋ ๋ ๋ค ๋ง์กฑ์์ผ์ผ TRUE
โข
OR์ ํ๋๋ง ๋ง์กฑ์์ผ๋ TRUE
โข
XOR์ ๋
ผ๋ฆฌ์์ด ์๋ก ๋ค๋ฅด๋ฉด 1์ ๋ฐํ, ์๋ก ๊ฐ์ผ๋ฉด 0์ ๋ฐํ
โข
!, NOT์ ๋
ผ๋ฆฌ์์ ๊ฒฐ๊ณผ๊ฐ ์ฐธ์ด๋ฉด ๊ฑฐ์ง์, ๊ฑฐ์ง์ด๋ฉด ์ฐธ์ ๋ฐํ
ํฌ๊ธฐ ๋น๊ต
SELECT 1 = 1, !(1 <> 1), NOT (1 < 2), 1 > 0 IS NOT FALSE; -- 1, 1, 0, 1
SELECT 'A' = 'A', 'A' != 'B', 'A' < 'B', 'A' > 'B'; -- 1, 1, 1, 0
SELECT 'A' = 'a'; -- 1
SELECT ProductName, Price, Price > 20 AS EXPENSIVE
FROM Products;
SQL
๋ณต์ฌ
โข
= : ์์ชฝ ๊ฐ์ด ๊ฐ์
โข
! = , <> : ์์ชฝ ๊ฐ์ด ๋ค๋ฆ
โข
, <, > =, < = : ํฌ๊ธฐ๋น๊ต
โข
ํฌ๊ธฐ ๋น๊ต์์๋ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์๋๋ค
์ฌ์ด ํ๋จ
SELECT 5 BETWEEN 1 AND 10; -- 1
SELECT 'banana' NOT BETWEEN 'Apple' AND 'camera'; -- 0
SELECT *
FROM Customers
WHERE CustomerName BETWEEN 'b' AND 'c';
SQL
๋ณต์ฌ
[x] BETWEEN [min] AND [max] : x๋ min๊ณผ max ์ฌ์ด์ ์๋ค
[x] NOT BETWEEN [min] AND [max] : x๋ min๊ณผ max ์ฌ์ด์ ์๋ค
โข
ํฐ ์์ ์์ ์ ์์น๋ฅผ ๊ผญ ์ง์ผ์ค์ผํจ
โข
min, max๋ ํฌํจ์ด๋ค
์กด์ฌ ํ๋จ
SELECT 1 + 2 IN (2, 3, 4) -- 1
SELECT 'Hello' IN (1, TRUE, 'hello') -- 1
SELECT *
FROM Customers
WHERE City IN ('Torino', 'Paris', 'Portland', 'Madrid')
SQL
๋ณต์ฌ
[x] IN (โฆ) : ๊ดํธ์ ๊ฐ ์ค์ ํ๋๋ผ๋ x์ ๊ฐ์ ๊ฐ์ด ์๋ค๋ฉด TRUE
= ANY (โฆ) : ๊ดํธ์ ๊ฐ ์ค์ ํ๋๋ผ๋ x์ ๋น๊ต ์ฐ์ฐ์ ๋ง์กฑํ๋ฉด TRUE
= ALL (โฆ) : ๊ดํธ์ ๊ฐ ๋ชจ๋ x์ ๋น๊ต ์ฐ์ฐ์ ๋ง์กฑํด์ผ TRUE
โข
WHERE EXISTS (SELECT โฆ) : ์ธ๋ถ์ฟผ๋ฆฌ์์ ์ฒ๋ฆฌํ ๊ฐ ์ค ์๋ธ์ฟผ๋ฆฌ์๋ ํด๋นํ๋ ๊ฐ๋ค๋ง ๋ณด์ฌ์ค๋ค.
ํจํด ํ๋จ
SELECT
'HELLO' LIKE 'hel%',
'HELLO' LIKE 'H%',
'HELLO' LIKE 'H%O',
'HELLO' LIKE '%O',
'HELLO' LIKE '%HELLO%',
'HELLO' LIKE '%H',
'HELLO' LIKE 'L%'
SELECT
'HELLO' LIKE 'HEL__',
'HELLO' LIKE 'h___O',
'HELLO' LIKE 'HE_LO',
'HELLO' LIKE '_____',
'HELLO' LIKE '_HELLO',
'HELLO' LIKE 'HEL_',
'HELLO' LIKE 'H_O'
SQL
๋ณต์ฌ
โข
[str] LIKE โโฆ%โฆโ
โฆ
โHELLOโ LIKE โhel%โ : HELLO๊ฐ hel๋ก ์์ํ๋ ๋ฌธ์์ธ์ง
โฆ
โHELLOโ LIKE โ%Oโ : HELLO๊ฐ O๋ก ๋๋๋ ๋ฌธ์์ธ์ง
โข
[str] LIKE โโฆ_โฆโ
โฆ
โHELLOโ LIKE โHEL__โ : HELLO๊ฐ HEL๋ก ์์ํ๋ฉด์ _์ ๊ฐฏ์๋ฅผ ํฌํจํ ๊ธ์์๊ฐ ๋ง๋์ง
โฆ
โHELLOโ LIKE โ_____โ : HELLO์ ๊ธ์์๊ฐ _์ ๊ฐฏ์์ ๋ง๋์ง
โข
%๋ 0~N๊ฐ์ ๊ธ์, _๋ 1๊ฐ์ ๊ธ์๋ฅผ ์๋ฏธํ๋ค.