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-00936 | SELECT ์ ์ ๊ฒ |
ORA-00933 | ์ธ๋ฏธ์ฝ๋ก ํ์ธ |
ORA-00911 | ๋ฌธ์์ด escape |
ORA-01722 | ์ซ์ํ ํ์ธ |
ORA-00937 | GROUP BY ์ถ๊ฐ |
ORA-00001 | ์ค๋ณต ์ ๋ ฅ ๋ฐฉ์ง |
ORA-02291 | FK ์ฐธ์กฐ ํค ํ์ธ |
โจ ๋ง๋ฌด๋ฆฌ
SQL์ ์์ ์คํ ํ๋๋ก๋ ์ค๋ฅ๊ฐ ๋ ์ ์์ด์. ์๋ฌ ๋ฉ์์ง๋ฅผ ์ ์ฝ๊ณ ์์ธ์ ์ ์ถํ๋ ์ฐ์ต์ด ์ค์ํฉ๋๋ค! ๐