SQL/SQL_์ด๋ก 

SQL์—์„œ ์ž์ฃผ๋ณด์ด๋Š” ์˜ค๋ฅ˜๋“ค

2์ฃผ๋…˜ 2025. 5. 25. 15:36
๋ฐ˜์‘ํ˜•
SQL ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜ ์ด์ •๋ฆฌ

๐Ÿ’ฅ SQL์—์„œ ์ž์ฃผ ๋‚˜ํƒ€๋‚˜๋Š” ์˜ค๋ฅ˜ ์ด์ •๋ฆฌ! (์‹ค๋ฌด & ์‹œํ—˜ ๋Œ€๋น„)

SQL ์ดˆ๋ณด๋ถ€ํ„ฐ ์ค‘๊ธ‰์ž๊นŒ์ง€ ๊ผญ ์•Œ์•„์•ผ ํ•  SQL ์˜ค๋ฅ˜ ์ผ€์ด์Šค TOP 8์„ ์‹ค์ „ ์˜ˆ์ œ์™€ ํ•จ๊ป˜ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค!

โŒORA-00904: invalid identifier

์›์ธ: ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์ปฌ๋Ÿผ๋ช…์„ ์กฐํšŒํ•˜๋ ค ํ•  ๋•Œ

SELECT empnmae FROM employees;

ํ•ด๊ฒฐ: ์ปฌ๋Ÿผ๋ช… ์˜คํƒ€ ํ™•์ธ (์˜ˆ: empname)

โŒORA-00936: missing expression

์›์ธ: SELECT, WHERE ๋“ฑ์—์„œ ํ‘œํ˜„์‹์ด ๋น ์ง

SELECT FROM employees;

ํ•ด๊ฒฐ: SELECT ๋‹ค์Œ์—๋Š” ๋ฐ˜๋“œ์‹œ ์ปฌ๋Ÿผ๋ช…์ด ์™€์•ผ ํ•จ

โŒORA-00933: SQL command not properly ended

์›์ธ: SQL ๋ฌธ์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋๋‚˜์ง€ ์•Š์Œ

UPDATE employees SET salary = 5000
WHERE employee_id = 100
-- ์„ธ๋ฏธ์ฝœ๋ก  ๋น ์ง
    

ํ•ด๊ฒฐ: SQL ๋ฌธ ๋์— ; ํ™•์ธ!

โŒORA-00911: invalid character

์›์ธ: ํ—ˆ์šฉ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ž ํฌํ•จ

SELECT * FROM employees WHERE last_name = 'O'Brien';

ํ•ด๊ฒฐ: ์ž‘์€๋”ฐ์˜ดํ‘œ๋Š” ๋‘ ๋ฒˆ ์‚ฌ์šฉ 'O''Brien'

โŒORA-01722: invalid number

์›์ธ: ์ˆซ์ž๋กœ ๋ณ€ํ™˜ ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฐ’์„ ์ˆซ์žํ˜• ์ปฌ๋Ÿผ์— ๋น„๊ต

SELECT * FROM employees WHERE salary = 'abc';

ํ•ด๊ฒฐ: ์ˆซ์žํ˜• ์ปฌ๋Ÿผ์—๋Š” ์ˆซ์ž๋งŒ, ๋ฌธ์ž์—ด์€ CAST ์‚ฌ์šฉ

โŒORA-00937: not a single-group group function

์›์ธ: GROUP BY ์—†์ด ์ง‘๊ณ„ํ•จ์ˆ˜์™€ ์ผ๋ฐ˜ ์ปฌ๋Ÿผ์„ ๊ฐ™์ด ์‚ฌ์šฉ

SELECT department_id, AVG(salary)
FROM employees;
    

ํ•ด๊ฒฐ:

SELECT department_id, AVG(salary)
FROM employees
GROUP BY department_id;
    

โŒORA-00001: unique constraint violated

์›์ธ: PK ๋˜๋Š” UNIQUE ์ปฌ๋Ÿผ์— ์ค‘๋ณต ๊ฐ’ ์ž…๋ ฅ

INSERT INTO departments (department_id, department_name)
VALUES (10, 'Sales'); -- ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ID
    

ํ•ด๊ฒฐ: ์ค‘๋ณต๋˜์ง€ ์•Š๋Š” ๊ฐ’ ์ž…๋ ฅ

โŒORA-02291: integrity constraint violated - parent key not found

์›์ธ: ์ž์‹ ํ…Œ์ด๋ธ”์—์„œ ์ฐธ์กฐํ•˜๋Š” ๋ถ€๋ชจ ํ‚ค๊ฐ€ ์—†์Œ

INSERT INTO employees (employee_id, manager_id)
VALUES (300, 9999); -- manager_id 9999๊ฐ€ ์—†์Œ
    

ํ•ด๊ฒฐ: ๋ถ€๋ชจ ํ…Œ์ด๋ธ”์— ํ•ด๋‹น ํ‚ค๊ฐ€ ์žˆ๋Š”์ง€ ๋จผ์ € ํ™•์ธ

๐Ÿง  ์‹œํ—˜ ๊ฟ€ํŒ ์š”์•ฝ ํ…Œ์ด๋ธ”

์˜ค๋ฅ˜ ์ฝ”๋“œ ๊ธฐ์–ต ํฌ์ธํŠธ
ORA-00904์˜คํƒ€? ์ปฌ๋Ÿผ๋ช… ํ™•์ธ
ORA-00936SELECT ์ ˆ ์ ๊ฒ€
ORA-00933์„ธ๋ฏธ์ฝœ๋ก  ํ™•์ธ
ORA-00911๋ฌธ์ž์—ด escape
ORA-01722์ˆซ์žํ˜• ํ™•์ธ
ORA-00937GROUP BY ์ถ”๊ฐ€
ORA-00001์ค‘๋ณต ์ž…๋ ฅ ๋ฐฉ์ง€
ORA-02291FK ์ฐธ์กฐ ํ‚ค ํ™•์ธ

โœจ ๋งˆ๋ฌด๋ฆฌ

SQL์€ ์ž‘์€ ์˜คํƒ€ ํ•˜๋‚˜๋กœ๋„ ์˜ค๋ฅ˜๊ฐ€ ๋‚  ์ˆ˜ ์žˆ์–ด์š”. ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ์ž˜ ์ฝ๊ณ  ์›์ธ์„ ์œ ์ถ”ํ•˜๋Š” ์—ฐ์Šต์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค! ๐Ÿ˜Š

๋ฐ˜์‘ํ˜•