SQL 14

[SQL] ์—ฐ์‚ฐ์ž | IN, & (AND ๋น„ํŠธ ์—ฐ์‚ฐ์ž) | ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์˜ˆ์ œ

๐Ÿ“Œ IN ์—ฐ์‚ฐ์ž ์—ฌ๋Ÿฌ ์กฐ๊ฑด ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์ถฉ์กฑํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์‹ถ์„ ๋•Œ,OR ์กฐ๊ฑด์„ ์—ฌ๋Ÿฌ ๊ฐœ ์ค„ ํ•„์š”์—†์ด,IN ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•˜๋‚˜์˜ ๊ด„ํ˜ธ ์•ˆ์— ์กฐ๊ฑด์„ ๋‹ค ๋„ฃ์–ด์„œ ๋น„๊ต๊ฐ€๋Šฅํ•˜๋‹ค.   โœ๏ธ  ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค SQL ๋ฌธ์ œ๋กœ ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด๋ณด์žSELECT ID, EMAIL, FIRST_NAME, LAST_NAMEFROM DEVELOPER_INFOSWHERE SKILL_1 = 'Python' OR SKILL_2 = 'Python' OR SKILL_3 = 'Python' -- OR ์—ฌ๋Ÿฌ ๊ฐœORDER BY ID SELECT ID, EMAIL, FIRST_NAME, LAST_NAMEFROM DEVELOPER_INFOSWHERE 'Python' IN (SKILL_1, SKILL_2, SKILL_3)ORDER BY ID ์ฒซ๋ฒˆ์งธ๋Š”..

Tools/- SQL 2024.03.12

[MySQL] 7์žฅ ์Šคํ† ์–ด๋“œ ํ•จ์ˆ˜ | ์ปค์„œ | ํŠธ๋ฆฌ๊ฑฐ

์Šคํ† ์–ด๋“œ ํ•จ์ˆ˜ MySQL์—์„œ ์ œ๊ณตํ•˜๋Š” ํ•จ์ˆ˜ ์™ธ์— ์ง์ ‘ ๋งŒ๋“ค์–ด์„œ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜ ์ž…๋ ฅ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ๋ฐ˜ํ™˜๊ฐ’์„ ๋”ฐ๋กœ ์„ค์ •ํ•œ๋‹ค ์Šคํ† ์–ด๋“œ ํ•จ์ˆ˜ ๋ฌธ๋ฒ• DELIMITER $$ CREATE FUNCTION ํ•จ์ˆ˜_์ด๋ฆ„ ( ๋งค๊ฐœ๋ณ€์ˆ˜ ) RETURNS ๋ฐ˜ํ™˜ํ˜•์‹ BEGIN ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ฝ”๋”ฉ RETURN ๋ฐ˜ํ™˜๊ฐ’; END $$ DELIMITER ; SELECT ํ•จ์ˆ˜_์ด๋ฆ„(); ์˜ˆ์ œ 1) ๊ณฑํ•˜๊ธฐ SET GLOBAL log_bin_trust_function_creators = 1; -- ์Šคํ† ์–ด๋“œ ํ•จ์ˆ˜ ์ƒ์„ฑ ๊ถŒํ•œ ํ—ˆ์šฉ (ํ•œ ๋ฒˆ๋งŒ ์„ค์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค) USE market_db; DROP FUNCTION IF EXISTS sumFunc; DELIMITER $$ CREATE FUNCTION sumFunc(number1 INT, number2 INT)..

Tools/- SQL 2024.03.10

[MySQL] 7์žฅ ์Šคํ† ์–ด๋“œ ํ”„๋กœ์‹œ์ € | ๋งค๊ฐœ๋ณ€์ˆ˜, ๋™์  SQL ํ™œ์šฉ ์˜ˆ์ œ

์Šคํ† ์–ด๋“œ ํ”„๋กœ์‹œ์ € : SQL์— ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ด์„œ ์ผ๋ฐ˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ๋น„์Šทํ•œ ํšจ๊ณผ๋ฅผ ๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ์Šคํ† ์–ด๋“œ ํ”„๋กœ์‹œ์ € ๋ฌธ๋ฒ• DELIMITER $$ CREATE PROCEDURE ์ด๋ฆ„ ( IN ๋˜๋Š” OUT ๋งค๊ฐœ๋ณ€์ˆ˜ ) BEGIN ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ฝ”๋“œ ์ž‘์„ฑ END $$ DELIMITER ; ์˜ˆ์ œ 1) ํ…Œ์ด๋ธ” ์ „์ฒด ์„ ํƒ USE market_db; DROP PROCEDURE IF EXISTS user_proc; DELIMITER $$ CREATE PROCEDURE user_proc() BEGIN SELECT * FROM member; -- ์Šคํ† ์–ด๋“œ ํ”„๋กœ์‹œ์ € ๋‚ด์šฉ END $$ DELIMITER ; CALL user_proc() ; -- ํ”„๋กœ์‹œ์ € ํ˜ธ์ถœ ์˜ˆ์ œ 2) ์ž…๋ ฅ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ™œ์šฉํ•œ ์กฐ๊ฑด๋ถ€ ๊ฒ€์ƒ‰ DROP PR..

Tools/- SQL 2024.03.09

[MySQL] 6์žฅ ์ธ๋ฑ์Šค | ์ธ๋ฑ์Šค ๊ฐœ๋…, ์ธ๋ฑ์Šค ๋‚ด๋ถ€ ์ž‘๋™, ์ธ๋ฑ์Šค ์‹ค์ œ ์‚ฌ์šฉ

์ธ๋ฑ์Šค ๊ฐœ๋… ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ๋„๊ตฌ ์ธ๋ฑ์Šค๊ฐ€ ์—†๋‹ค๋ฉด MySQL์€ ์ „์ฒด ํ…Œ์ด๋ธ” ๊ฒ€์ƒ‰ ( Full Table Scan) ์„ ์‹คํ–‰ํ•  ๊ฒƒ => ์‹œ๊ฐ„ ์ธก๋ฉด์—์„œ ๋น„ํšจ์œจ์  ์ธ๋ฑ์Šค์˜ ์ข…๋ฅ˜ ํด๋Ÿฌ์Šคํ„ฐํ˜• ์ธ๋ฑ์Šค : ์˜์–ด์‚ฌ์ „, ํ•˜๋‚˜๋งŒ ๊ฐ€๋Šฅ, ์•ŒํŒŒ๋ฒณ ์ˆœ์„œ ์ •๋ ฌ ๋ณด์กฐ ์ธ๋ฑ์Šค : ์—ฌ๋Ÿฌ๊ฐœ ์„ค์ • ๊ฐ€๋Šฅ, ์ •๋ ฌ ์ƒ๊ด€ X USE market_db; CREATE TABLE table1 ( col1 INT PRIMARY KEY, col2 INT, col3 INT ); SHOW INDEX FROM table1; CREATE TABLE table2 ( col1 INT PRIMARY KEY, col2 INT UNIQUE, col3 INT UNIQUE); SHOW INDEX FROM table2; DROP TABLE IF EX..

Tools/- SQL 2024.03.08