๐ ๊ณต๋ถ ๊ธฐ๊ฐ : 07. 25(๋ชฉ)
concat : ๋ฌธ์์ด ์ฐ๊ฒฐ-- [์ฐ์ต] employee์ departments ํ
์ด๋ธ์ ์ด์ฉํ์ฌ ์๋์ ๊ฐ์ด ์กฐํํ์์ค
-- Steve์ ๋ถ์๋ Administration์
๋๋ค.
-- XXX์ ๋ถ์๋ XXX์
๋๋ค.
SELECT concat(e.first_name,'์ ๋ถ์๋ ',d.department_name,'์
๋๋ค.') AS "์๊ฐ"
FROM hr.employees e INNER JOIN hr.departments d
ON e.department_id = d.department_id
ORDER BY first_name;
locate : ์์น ์ฐพ๊ธฐ(์ธ๋ฑ์ค๋ 1๋ถํฐ ์์, ์ฐพ์ง ๋ชปํ ๊ฒฝ์ฐ์๋ 0 ๋ฐํ)SELECT locate('hate', 'I hate to turn up out of the blue, uninvited');
--3๋ฒ์งธ ์ ๋ฌ๊ฐ : ์ฐพ์ ์์์์น๊ฐ
SELECT locate('you', 'Everybody loves the things you do From the way you talk', 35);
insert : ๋ฐ์ดํฐ ์ฝ์
-- I miss you
SELECT insert('I love you!', 3, 4, 'miss');
-- I love me
SELECT insert('I love you!', locate('you', 'I love you!'), 3, 'me');
left(๊ฐ์), right(๊ฐ์) : ๋ฐ์ดํฐ ์ถ์ถSELECT LEFT('Everybody loves the things you do From the way you talk', 9);
SELECT RIGHT('Everybody loves the things you do From the way you talk', 4);
substring(๋ฌธ์์ด, ์์น, ๊ฐ์)SELECT substring('Everybody loves the things you do From the way you talk', 11, 4);
upper, lower : ๋์๋ฌธ์ ๋ณํSELECT upper('Everybody loves the things you do From the way you talk');
replace(๋ฌธ์์ด, ์ฐพ์ ๋ฌธ์์ด, ๋ฐ๊ฟ ๋ฌธ์์ด) : ์นํSELECT REPLACE('MSSQL','MS','My');
length : ๊ธธ์ดSELECT length('I have a dream!!!');
abs : ์ ๋๊ฐfloor : ์์ ๋ฐฉํฅ์์ ๋ง๋๋ ์ฒซ ๋ฒ์งธ ์ ์ ๊ฐceil : ์์ ๋ฐฉํฅ์์ ๋ง๋๋ ์ฒซ ๋ฒ์งธ ์ ์ ๊ฐtruncate : ์ง์ ๋ ์์์ ์๋ฆฟ์์์ ๋ฒ๋ฆผround : ์ง์ ๋ ์์์ ์๋ฆฟ์์์ ๋ฐ์ฌ๋ฆผgreatest(), least() : ์ ๋ฌ๋ ์ซ์๋ค ์ค ์ต๋ ์ต์๊ฐpi() : ์์ฃผ์จsqrt(n) : ์ ๊ณฑ๊ทผpow(n1, n2) = power(n1, n2) : ์ ๊ณฑrand() : 0 ~ 1 ๋ฏธ๋ง์ ์ค์ ๋์SELECT now(), sysdate();
: ํ์ฌ ๋ ์ง์ ์๊ฐ
select curdate(), curtime();
: curdate() : ํ์ฌ ๋ ์ง, curtime() : ํ์ฌ ์๊ฐ
year(sysdate()), month(sysdate()), day(sysdate())
: ๋ ์ง๋ฐ์ดํฐ๋ฅผ ๋
, ์, ์ผ๋ก ๋ถ๋ฆฌํด์ ์ถ์ถ
hour(curtime()), minute(curtime()), second(curtime())
: ์๊ฐ๋ฐ์ดํฐ๋ฅผ ์, ๋ถ, ์ด๋ก ๋ถ๋ฆฌํด์ ์ถ์ถ
datediff(โ๋ฏธ๋ ๋ ์งโ, โ๊ณผ๊ฑฐ ๋ ์งโ)
: ๊ฒฝ๊ณผ ์ผ
timediff(curtime(), '10:00:00')
: ๊ฒฝ๊ณผ ์๊ฐ
-- [์ฐ์ต] ์ผํฐ์ ์จ์ง 6์๊ฐ 35๋ถ์ด ์ง๋ฌ์ต๋๋ค.
SELECT concat('์ผํฐ์ ์จ์ง ',HOUR(timediff(curtime(), '10:00:00')),'์๊ฐ ',
MINUTE(timediff(curtime(), '10:00:00')),'๋ถ์ด ์ง๋ฌ์ต๋๋ค.') AS "์ค๋";
dayofweek(sysdate())
: ์์ผ ์ถ์ถ(์ผ์์ผ์ด 1)
monthname(sysdate())
: ์ ์ถ์ถ
dayofyear(sysdate());
: ํ์ฌ ๋ ์ง๊ฐ ํด๋น ์ฐ๋๋ก๋ถํฐ ๊ฒฝ๊ณผํ ์ผ ์
avg-- ์ง์์ ๊ธ์ฌ๊ฐ ํ๊ท ๋ณด๋ค ๋ง์์ง ์๋์ง ์ถ๋ ฅํ๋ ์ฝ๋๋ฅผ ์์ฑ
SELECT first_name, salary, @salavg AS "ํ๊ท ", if(salary > @salavg, "๋ง๋ค", "์ ๋ค")
FROM hr.employees e;
ifnull()-- [์ฐ์ต] hr.departments ํ
์ด๋ธ์์ ๋งค๋์ ์ด๋ฆ์ ์ถ๋ ฅํ์์ค.
-- ๋งค๋์ ๋ฒํธ๊ฐ ์๋ ๊ฒฝ์ฐ "๋งค๋์ ์์"์ด๋ผ๊ณ ์ถ๋ ฅ๋๋๋ก ํ์์ค
SELECT d.department_id, d.department_name , ifnull(e.first_name , "๋งค๋์ ์์") AS "Manager Name"
FROM hr.departments d
LEFT OUTER JOIN hr.employees e
ON d.manager_id = e.employee_id;
count : ์ปฌ๋ผ ๊ฐ์ ์ธ๊ธฐ-- null ๋ฐ์ดํฐ๋ count์์ ์ ์ธ
SELECT count(*), count(manager_id)
FROM hr.employees e ;
๐ก Left Outer Join ์ฐ๋ ์ด์ : Null ๊ฐ์ ๋์ค๊ฒ ํ๊ธฐ ์ํด!
์ถ๋ ฅ ๊ธฐ์ค์ธ departments ํ ์ด๋ธ์ด ์ผ์ชฝ์ ์์นํด์ผ ํจ