IT/DataBase59 [Oracle]ORACLE SELECT ๊ฒฐ๊ณผ๊ฐ ๋ณ์นญ(alias) ์ฌ์ฉ ๋ชฉ์ฐจ ์๋์ฒ๋ผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ ํ์ ํ ์ด๋ธ์์ ํ์๋ฒํธ, ์ด๋ฆ, ์์ด๋, ์ฃผ๋ฏผ๋ฒํธ, ์๋ ์์ผ์ ์กฐํํ๋ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๊ฐ์ s๋ผ๋ ๋ณ์นญ์ ์ค์ ํ๋์ ํ ์ด๋ธ์ด ๋๋๊ฒ์ ๋ฐ๊นฅ์ชฝ ๋ฉ์ธ์ฟผ๋ฆฌ์์๋ ์์ชฝ ๊ฒฐ๊ณผ๋ฅผ ํ ์ด๋ธ์ฒ๋ผ ์ฌ์ฉ IT/DataBase 2022. 11. 25. [Oracle]ORACLE SUB QUERY ๋ชฉ์ฐจ ์๋ธ์ฟผ๋ฆฌ ์๋ธ์ฟผ๋ฆฌ๋ ํ๋์ ๋ฉ์ธ์ฟผ๋ฆฌ์์ ๋ ํ๋์ ์ฟผ๋ฆฌ๊ฐ ๋ด๊ฒจ์๋ ๊ฑธ ์๋ฏธ ์ข ๋ฅ : ์ค์นผ๋ผ ์๋ธ์ฟผ๋ฆฌ(SELECT์ ์ ์ฌ์ฉ), ์ธ๋ผ์ธ๋ทฐ ์๋ธ์ฟผ๋ฆฌ(FROM์ ์ ์ฌ์ฉ), ์ผ๋ฐ ์๋ธ์ฟผ๋ฆฌ(WHERE์ ์ ์ฌ์ฉ) SELECT col1, (SELECT ...) -- ์ค์นผ๋ผ ์๋ธ์ฟผ๋ฆฌ(Scalar Sub Query): ํ๋์ ์ปฌ๋ผ์ฒ๋ผ ์ฌ์ฉ (ํํ ์ฉ๋) FROM (SELECT ...) -- ์ธ๋ผ์ธ ๋ทฐ(Inline View): ํ๋์ ํ ์ด๋ธ์ฒ๋ผ ์ฌ์ฉ (ํ ์ด๋ธ ๋์ฒด ์ฉ๋) WHERE col = (SELECT ...) -- ์ผ๋ฐ ์๋ธ์ฟผ๋ฆฌ: ํ๋์ ๋ณ์(์์)์ฒ๋ผ ์ฌ์ฉ (์๋ธ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ ์กฐ๊ฑด์ ) ์ถ์ฒ: https://data-make.tistory.com/25 [Data Makes Our Future] --.. IT/DataBase 2022. 11. 25. [Oracle]์ค๋ผํด SELECT 1 FROM 'ํ ์ด๋ธ๋ช ' ๋ชฉ์ฐจ ์ฃผ๋ก ๋ค์คํ ์๋ธ ์ฟผ๋ฆฌ๋ฌธ์์ WHERE์ ์ EXISTS(NOT) ํจ์์์ ์๋ธ์ฟผ๋ฆฌ์ ์ฌ์ฉ๋จ, EXISTS๋ก ์๋ธ์ฟผ๋ฆฌ๋ฅผ ํ์ธํ ๋๋ ๋ฐ์ดํฐ ๊ฐ๋ณด๋ค๋ ๊ฐ์ ์กด์ฌ์ ๋ฌด๊ฐ ๋ ์ค์ํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋จํ๊ฒ ์ฌ์ฉํ๊ธฐ ์ํด SELECT 1 FROM emp ํํ๋ก ์ฌ์ฉ๋จ IT/DataBase 2022. 11. 25. [Oracle]view(๋ทฐ) ๋ชฉ์ฐจ view๋ ๊ฐ์์ ํ ์ด๋ธ์ ์๋ฏธ, view๋ ๋ฐ์ดํฐ๋ ์๊ณ ์๋ณธ ํ ์ด๋ธ์ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๋ SQL query๋ง ์ ์ฅ๋์ด ์์ ์ฌ์ฉ์๊ฐ ํด๋น view๋ฅผ ์ฌ์ฉํ๋ SQL๋ฅผ ์คํํ ๋๋ง view์ ๋ค์ด ์๋ ์ฟผ๋ฆฌ๊ฐ ์คํ๋จ -- ๊ฐ๋จํ view ์์ฑ CREATE OR REPLACE VIEW v_emp1 AS SELECT empno, ename, hiredate FROM emp; -- view ์กฐํ ์ ์๋์ฒ๋ผ ๊ฒฐ๊ณผ๊ฐ ํ์๋จ(empํ ์ด๋ธ์์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํด ) SELECT * FROM v_emp1; view๋ฅผ ์์ฑํ๋ฉด ์ค๋ผํด์ ํด๋น view ์ ๋ณด๋ฅผ ๋์ ๋๋ฆฌ์ ์ ์ฅํ ๋ค์ ์ฌ์ฉ์๊ฐ view๋ฅผ ์ฌ์ฉํ ๋๋ง view์ ์๋ธ์ฟผ๋ฆฌ๊ฐ ์คํ๋์ด ์๋ณธ ํ ์ด๋ธ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ด โป ์ด ์๋ฏธ๋ ํ์์ ์ด view์๋ .. IT/DataBase 2022. 11. 25. [Oracle]์ค๋ผํด CTAS(Create Table As SELECT) ์ค๋ผํด CTAS(Create Table As SELECT)ํ ์ด๋ธ ๋ณต์ฌํ ๋ ์ฃผ๋ก ์ฌ์ฉ๋๊ณ ๊ธฐ์กด์ ์๋ ํ ์ด๋ธ์ ์ฐธ์กฐํ์ฌ ๋์ผํ ํ ์ด๋ธ์ ๋ง๋ค ๋ ์ฌ์ฉํจCREATE TABLE emp_211101AS SELECT * FROM emp;์์ ๋ค๋ฅด๊ฒ ํ ์ด๋ธ ๊ตฌ์กฐ๋ง ๋ณต์ฌํ ๋๋ ์๋์ฒ๋ผ WHERE์ ์ ํ๋ฆฐ ์กฐ๊ฑด์ ์ค์ SELECT๋ฅผ ๋ชปํ๊ฒ ํจCREATE TABLE emp_211101_1AS SELECT * FROM emp WHERE 1 = 2;๊ฐ์ธ ์คํฐ๋ ๊ธฐ๋ก์ ๋ฉ๋ชจํ๋ ๊ณต๊ฐ์ด๋ผ ํ๋ฆฐ์ ์ด ์์ ์ ์์ต๋๋ค.ํ๋ฆฐ ์ ์์ ๊ฒฝ์ฐ ๋๊ธ ๋ถํ๋๋ฆฝ๋๋ค. [Oracle]insert into select from table๋ชฉ์ฐจ [Oracle]insert into select from table ์ค๋ผํด์์ ๋ค๋ฅธ ํ ์ด๋ธ์์ ๊ฐ.. IT/DataBase 2022. 11. 25. [Oracle]GROUP BY + ROLL UP์ด์ฉํ ์๊ณ ๊ตฌํ๊ธฐ ๋ชฉ์ฐจ GROUP BY + ROLL UP์ด์ฉํ ์๊ณ ๊ตฌํ๊ธฐ SELECT DECODE(POSITION,NULL,'ํฉ๊ณ',POSITION) postion , NVL(sum(BONUS),0) sum FROM PROFESSOR GROUP BY ROLLUP(position) ; ๊ทธ๋ฃน๋ฐ์ด ํ ๊ฐ์ ํฉ๊ณ๋ฅผ ๊ตฌํ ๋ ์ฌ์ฉํ๋ ํจ์ IT/DataBase 2022. 11. 25. [Oracle] ํ ์ด๋ธ/ํ ์ด๋ธ ๋ชฉ๋ก ์กฐํ ๋ชฉ์ฐจ Oracle ํ ์ด๋ธ ์กฐํ ์ค๋ผํด์์ ํ ์ด๋ธ ์กฐ๊ฑด, ์ปฌ๋ผ์ผ๋ก ์กฐํ ํด์ผ ํ ๊ฒฝ์ฐ ์๋ ํ ์ด๋ธ์์ ์กฐํ SELECT * FROM ALL_TABLES; (๊ด๋ฆฌ์์ผ ๊ฒฝ์ฐ) SELECT * FROM USER_TABLES; (๊ด๋ฆฌ์ ์๋ ๊ฒฝ์ฐ) SELECT * FROM TAB; (๊ด๋ฆฌ์ ์๋ ๊ฒฝ์ฐ) SELECT * FROM ALL_TAB_COLUMNS(๊ด๋ฆฌ์์ผ ๊ฒฝ์ฐ) ๋ฐ์ดํฐ๊ฐ ์๋ ํ ์ด๋ธ ์กฐํ IT/DataBase 2022. 11. 25. [MySQL/MariaDB]ํ ์ด๋ธ ํ๋์ ๊ณต๋ฐฑ, ๊ฐํ, ์บ๋ฆฌ์ง๋ฆฌํด ์นํ ๋ชฉ์ฐจ MariaDB ํ ์ด๋ธ ํ๋์ ๊ณต๋ฐฑ, ๊ฐํ, ์บ๋ฆฌ์ง๋ฆฌํด ์นํ csvํ์ผ์ ๋ถ๋ฌ์ค๊ฑฐ๋ ๋์ ๋ฐ๋ผ ํ ์ด๋ธ์ ๊ณต๋ฐฑ ํน์ ํน์๋ฌธ์๊ฐ ์ฝ์ ๋ ๊ฒฝ์ฐ ์๋์ฒ๋ผ ์นํํด์ผ ํจ -- ๊ณต๋ฐฑ ์นํ update table set field = replace(field, ' ', ''); -- ๊ฐํ๋ฌธ์ ์นํ update table set field = replace(field, '\r\n', ''); -- ํญ ์นํ update table set field = replace(field, 'char(9)', ''); -- ๋ผ์ธํผ๋ ์นํ update table set field = replace(field, 'char(10)', ''); -- ์บ๋ฆฌ์ง๋ฆฌํด ์นํ update table set field = replace(field, .. IT/DataBase 2022. 11. 25. [MySQL/MariaDB]ํฐ๋ฏธ๋์์ sqlํ์ผ ์คํ ์์ ๋ชฉ์ฐจ mysql -uroot -p "db๋ช " < "sqlํ์ผ๋ช " ์์ ํ๋ฉด test.sql์ ๋ณ ์๋ฏธ ์๋ ํ์ผ์ด๊ณ ๋ฌธ๋ฒ ์์๋ฅผ ์ํด ๋ง๋ ํ์ผ์ด๊ณ ์ ๋ฐ์์ผ๋ก ์ฌ์ฉํ๋ฉด ๋จ ๋ด์ฉ์ด ์ ๊ธด ํ์ง๋ง ์ด๋ง ์ ๊ฒ ๋ค. IT/DataBase 2022. 11. 25. [MySQL/MariaDB]unsigned ์๋ฏธ(์์ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ) ๋ชฉ์ฐจ MySQL or MariaDB์์ ์ปฌ๋ผ ์์ฑ ์ intํ์ธ ๊ฒฝ์ฐ, ์์๋ฅผ ์ฌ์ฉํ์ง ์์ ๊ฒฝ์ฐ ์ปฌ๋ผ ์์ฑ ์ ์๋์ฒ๋ผ ๋ฐ์ดํฐ ํ ๋ค์ unsigned๋ฅผ ๋ถ์ฌ์ ์์ฑํ๋ฉด ๋จ CREATE TABLE test ( id int(11) unsigned ...์๋ต ) IT/DataBase 2022. 11. 25. ์ด์ 1 2 3 4 5 6 ๋ค์