SQL

ํ™ํƒœํ™”ยท2023๋…„ 12์›” 5์ผ

๐Ÿ˜Š ST_Distance_Sphere

๋‘ ์ง€์  ๊ฐ„์˜ ๊ตฌ ํ˜•ํƒœ์˜ ์ง€๊ตฌ ํ‘œ๋ฉด์ƒ์˜ ์ง์„  ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ„์‚ฐ

๐Ÿ˜Š ํ˜„์žฌ ์‹œ๊ฐ„

SELECT CURDATE(); == SELECT CURRENT_DATE();
SELECT CURTIME();				-- 09:51:23
SELECT CURRENT_TIMESTAMP();		-- 2024-10-29 09:51:48.0
SELECT DAY(CURDATE());
SELECT MONTH(CURDATE());
SELECT YEAR(CURDATE());

๐Ÿ˜Š ๋‚ ์งœ ๋”ํ•˜๊ธฐ

DATE_ADD(NOW(), INTERVAL 1 DAY)
DATE_ADD(NOW(), INTERVAL 1 MONTH)
DATE_ADD(NOW(), INTERVAL 1 YEAR)

๐Ÿ˜Š ๋‚ ์งœ ๋นผ๊ธฐ

DATE_SUB(NOW(), INTERVAL 1 DAY)
DATE_SUB(NOW(), INTERVAL 1 MONTH)
DATE_SUB(NOW(), INTERVAL 1 YEAR)

๐Ÿ˜Š CASE ๋ฌธ

SELECT ์ด๋ฆ„,
    CASE 
        WHEN ๋‚˜์ด < 18 THEN '๋ฏธ์„ฑ๋…„์ž'
        WHEN ๋‚˜์ด >= 18 AND ๋‚˜์ด < 65 THEN '์„ฑ์ธ'
        ELSE '๋…ธ๋…„์ธต'
    END AS ์—ฐ๋ น๋Œ€
FROM ์‚ฌ์šฉ์ž;

๐Ÿ˜Š ๋ฌธ์ž์—ด -> ๋‚ ์งœ ๋ณ€ํ™˜

SELECT STR_TO_DATE("20241024","%Y%m%d"); -- 2024-10-24 
SELECT STR_TO_DATE("2024/10/24","%Y/%m/%d"); -- 2024-10-24  
SELECT STR_TO_DATE("2024.10.24","%Y.%m.%d"); -- 2024-10-24 
SELECT STR_TO_DATE("2024 10 24","%Y%m%d"); -- SELECT STR_TO_DATE("2024 10 24","%Y %m %d"); ๋„ ๊ฐ€๋Šฅ 
SELECT STR_TO_DATE("2024a10a24","%Ya%ma%d"); -- 2024-10-24

๐Ÿ˜Š ๋‚ ์งœ ํ˜•์‹ ๋ณ€ํ™˜

SELECT DATE_FORMAT("2024-10-24","%Y๋…„"); -- 2024๋…„
SELECT DATE_FORMAT("2024-10-24","%y๋…„"); -- 24๋…„
SELECT DATE_FORMAT("2024-10-24","%Y๋…„%M"); -- 2024๋…„October
SELECT DATE_FORMAT("2024-10-24","%Y๋…„%m์›”"); -- 2024๋…„10์›”
SELECT DATE_FORMAT("2024-10-24","%Y๋…„%m์›”%D"); -- 2024๋…„10์›”24th
SELECT DATE_FORMAT("2024-10-24","%Y๋…„%m์›”%d์ผ"); -- 2024๋…„10์›”24์ผ
SELECT DATE_FORMAT("2024-10-24 22:16:58","%Y๋…„%m์›”%d์ผ%H์‹œ"); -- 2024๋…„10์›”24์ผ22์‹œ
SELECT DATE_FORMAT("2024-10-24 22:16:58","%Y๋…„%m์›”%d์ผ%h %p"); -- 2024๋…„10์›”24์ผ10 PM
SELECT DATE_FORMAT("2024-10-24 22:16:58","%Y๋…„%m์›”%d์ผ%H์‹œ%i๋ถ„"); -- 2024๋…„10์›”24์ผ22์‹œ16๋ถ„
SELECT DATE_FORMAT("2024-10-24 22:16:58","%Y๋…„%m์›”%d์ผ%H์‹œ%i๋ถ„%s์ดˆ"); -- 2024๋…„10์›”24์ผ22์‹œ16๋ถ„58์ดˆ

๐Ÿ˜Š DML

ALTER TABLE wiz_loan_inquiry ADD COLUMN number_for_admin varchar(50);
ALTER TABLE wiz_loan_inquiry CHANGE number_for_admin number_for varchar(60);
ALTER TABLE wiz_loan_inquiry CHANGE number_for number_for_admin varchar(70);
ALTER TABLE wiz_loan_inquiry MODIFY number_for_admin varchar(50);
ALTER TABLE wiz_loan_inquiry DROP COLUMN number_for_admin;

๐Ÿ˜Š ๋ฌธ์ž์—ด ์ถ”์ถœ

SELECT SUBSTR('010-1234-5678',1,3) AS str; -- 010
SELECT SUBSTR('010-1234-5678',5,4) AS str; -- 1234
SELECT SUBSTR('010-1234-5678',-4) AS str; -- 5678

๐Ÿ˜Š ๋ฌธ์ž์—ด ๋น„๊ต

SELECT STRCMP("์•ˆ๋…•","Hello"); -- 1
SELECT STRCMP("์•ˆ๋…•",'์•ˆ๋…•'); -- 0

๐Ÿ˜Š RANK , DESE_RANK

SELECT Name,RANK() OVER(ORDER BY population DESC) p
FROM city;

๐Ÿ˜Š EXISTS

where ๊ณผ having ์— ์‚ฌ์šฉ

SELECT *
FROM customers c
WHERE EXISTS (
    SELECT 1 
    FROM orders o
    WHERE o.customer_id = c.customer_id
);

๐Ÿ˜Š ์ง‘๊ณ„ํ•จ์ˆ˜

SELECT 
  CountryCode, 
  CEIL(AVG(population)) AS average_population,
  RANK() OVER(ORDER BY CEIL(AVG(population)) DESC)
FROM city
GROUP BY CountryCode
ORDER BY average_population DESC;
profile
์šฐ์–ด์–ด์•„์•„์•™

0๊ฐœ์˜ ๋Œ“๊ธ€