๐ป ๊ณต๋ถ ๊ธฐ๋ก/๐ SQL
-
ํด๋น ๋ด์ฉ์ ๊ณต๋ถ์ ๋ชฉ์ ์ผ๋ก ๊ธฐ๋ก๋์์ผ๋ฉฐ, ์๋ ๋ด์ฉ์ ๋ชจ๋ ๊ตฌ๊ธ ๊ฒ์์ผ๋ก ๊ณต๋ถ ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์ต๋๋ค. ์ด์ฌํ ๋ฐฐ์ฐ๋ ์ค์ ๋๋ค. ๊ฐ์ฌํฉ๋๋ค. ์ถ์ฒ | Everly SQL ์๋ธ์ฟผ๋ฆฌ(Sub Query) ์์ - select์ , from์ , where์ ์ด๋ฒ ํฌ์คํ ์ ์ค๋ฌด SQL์์ ์ ๋ง ๋ง์ด ์ฌ์ฉํ๋ ์๋ธ์ฟผ๋ฆฌ(Sub Query)์ ๋ํด ์๊ฐํ๋ค. โป ์๋ธ์ฟผ๋ฆฌ๋? ์์ ํฌ์คํ ์์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ SQL ๋ฌธ๋ฒ์ [SELECT, FROM, WHERE] ๋ผ๊ณ ํ์๋ค. ์๋ธ์ฟผ๋ฆฌ๋ ์์น์ suy379.tistory.com ๐ ์๋ธ์ฟผ๋ฆฌ๋? SQL์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์ฑ์ธ [SELECT, FROM, WHERE] ๊ตฌ๋ฌธ์ผ๋ก SELECT์ , FROM์ , WHERE์ ์ ๊ฐ๊ฐ ํ์ํ ์ ์ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ๋ฌธ์ด ๋ค์ด๊ฐ๋ ๊ฒ์ ์๋ฏธํ..
SQL/Postgresql | Sub Query(์๋ธ์ฟผ๋ฆฌ)ํด๋น ๋ด์ฉ์ ๊ณต๋ถ์ ๋ชฉ์ ์ผ๋ก ๊ธฐ๋ก๋์์ผ๋ฉฐ, ์๋ ๋ด์ฉ์ ๋ชจ๋ ๊ตฌ๊ธ ๊ฒ์์ผ๋ก ๊ณต๋ถ ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์ต๋๋ค. ์ด์ฌํ ๋ฐฐ์ฐ๋ ์ค์ ๋๋ค. ๊ฐ์ฌํฉ๋๋ค. ์ถ์ฒ | Everly SQL ์๋ธ์ฟผ๋ฆฌ(Sub Query) ์์ - select์ , from์ , where์ ์ด๋ฒ ํฌ์คํ ์ ์ค๋ฌด SQL์์ ์ ๋ง ๋ง์ด ์ฌ์ฉํ๋ ์๋ธ์ฟผ๋ฆฌ(Sub Query)์ ๋ํด ์๊ฐํ๋ค. โป ์๋ธ์ฟผ๋ฆฌ๋? ์์ ํฌ์คํ ์์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ SQL ๋ฌธ๋ฒ์ [SELECT, FROM, WHERE] ๋ผ๊ณ ํ์๋ค. ์๋ธ์ฟผ๋ฆฌ๋ ์์น์ suy379.tistory.com ๐ ์๋ธ์ฟผ๋ฆฌ๋? SQL์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์ฑ์ธ [SELECT, FROM, WHERE] ๊ตฌ๋ฌธ์ผ๋ก SELECT์ , FROM์ , WHERE์ ์ ๊ฐ๊ฐ ํ์ํ ์ ์ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ๋ฌธ์ด ๋ค์ด๊ฐ๋ ๊ฒ์ ์๋ฏธํ..
2023.05.12 -
CONCAT ํจ์๋ ์ฌ๋ฌ ๋ฌธ์์ด์ ํ๋๋ก ํฉ์ณ์ฃผ๋ ์ญํ . CONCAT CONCAT(str1, str2 ...) ์ฌ์ฉ์์ CONCAT('AB', '::', 'CD') > AB::CD CONCAT('๋ํด๋ฌผ๊ณผ', ' ', '๋ฐฑ๋์ฐ์ด') > ๋ํด๋ฌผ๊ณผ ๋ฐฑ๋์ฐ์ด ์ค์ ์ฐ์ต CONCAT('A', '', LPAD(NEXTVAL('์ํ์ค ์กฐ๊ฑด') AS VARCHAR(๊ธธ์ด)), 6(์๋ฆฌ), '0')) > A00015
SQL | CONCATCONCAT ํจ์๋ ์ฌ๋ฌ ๋ฌธ์์ด์ ํ๋๋ก ํฉ์ณ์ฃผ๋ ์ญํ . CONCAT CONCAT(str1, str2 ...) ์ฌ์ฉ์์ CONCAT('AB', '::', 'CD') > AB::CD CONCAT('๋ํด๋ฌผ๊ณผ', ' ', '๋ฐฑ๋์ฐ์ด') > ๋ํด๋ฌผ๊ณผ ๋ฐฑ๋์ฐ์ด ์ค์ ์ฐ์ต CONCAT('A', '', LPAD(NEXTVAL('์ํ์ค ์กฐ๊ฑด') AS VARCHAR(๊ธธ์ด)), 6(์๋ฆฌ), '0')) > A00015
2023.01.09 -
ํน์ ์ซ์, ๋ฌธ์ํ์ ํจํด์ผ๋ก ๋๊ฐ์ด ๋ง์ถ์ด insert ํด์ผํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์ด๋ ์ฌ์ฉํ๋ ๊ตฌ๋ฌธ์ผ๋ก LPAD๋ ์ผ์ชฝ๋ถํฐ ๊ธธ์ด๋งํผ ์ฑ์ฐ๊ณ , RPAD๋ ์ค๋ฅธ์ชฝ๋ถํฐ ๊ธธ์ด๋งํผ ์ฑ์ด๋ค. LPAD LPAD("๊ฐ", "์ด ๋ฌธ์๊ธธ์ด", "์ฑ์๋ฌธ์") WITH EMP AS ( SELECT '7839' EMPNO, 'JAMES' ENAME, '30' DEPTNO FROM DUAL ) SELECT EMPNO , ENAME , DEPTNO , LPAD(DEPTNO, 5) --1 , LPAD(DEPTNO, 5, ' ') --2 , LPAD(DEPTNO, 5, '0') --3 , LPAD(DEPTNO, 5, 'A') --4 FROM EMP RPAD RPAD("๊ฐ", "์ด ๋ฌธ์๊ธธ์ด", "์ฑ์๋ฌธ์") WITH emp AS ( S..
SQL | LPAD, RPADํน์ ์ซ์, ๋ฌธ์ํ์ ํจํด์ผ๋ก ๋๊ฐ์ด ๋ง์ถ์ด insert ํด์ผํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์ด๋ ์ฌ์ฉํ๋ ๊ตฌ๋ฌธ์ผ๋ก LPAD๋ ์ผ์ชฝ๋ถํฐ ๊ธธ์ด๋งํผ ์ฑ์ฐ๊ณ , RPAD๋ ์ค๋ฅธ์ชฝ๋ถํฐ ๊ธธ์ด๋งํผ ์ฑ์ด๋ค. LPAD LPAD("๊ฐ", "์ด ๋ฌธ์๊ธธ์ด", "์ฑ์๋ฌธ์") WITH EMP AS ( SELECT '7839' EMPNO, 'JAMES' ENAME, '30' DEPTNO FROM DUAL ) SELECT EMPNO , ENAME , DEPTNO , LPAD(DEPTNO, 5) --1 , LPAD(DEPTNO, 5, ' ') --2 , LPAD(DEPTNO, 5, '0') --3 , LPAD(DEPTNO, 5, 'A') --4 FROM EMP RPAD RPAD("๊ฐ", "์ด ๋ฌธ์๊ธธ์ด", "์ฑ์๋ฌธ์") WITH emp AS ( S..
2023.01.09 -
Sequence ์ฌ์ฉ ๋ฐฉ๋ฒ ํ ์คํธ ํ๋ค๋ณด๋ฉด seq ๊ฐ ์ง์์ ์ผ๋ก ๋์ด๋๊ฑฐ๋ ์ค๋ณต๊ฐ์ ํผํ๊ธฐ ์ํด ์์ ๊ธฐ์ค๋ถํฐ seq ๋ฅผ ์ถ๊ฐํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ํ ์คํธ๊ฐ ๋๋๊ฒ ๋๋ฉด ์์ฑ์ 1 ์ด๋ผ๋ ๊ฐ์ผ๋ก ๋๋ฆฌ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ผ๋ก Sequence ๊ตฌ๋ฌธ์ ํ์ฉํ ์ ์๋ค. ๊ตฌ๋ฌธ create : CREATE SEQUENCE seq_name nextval : nextval('seq_name') currval : currval('seq_name') setval : setval('seq_name', seq_val, [true/false]) drop : DROP SEQUENCE seq_name ์ํ์ค ์์ฑ, ์ญ์ CREATE SEQUENCE mine_seq; DROP SEQUENCE mine_seq; ์ํ์ค ํ์ฌ๊ฐ, ๋ค์๊ฐ SELE..
SQL/PostgreSQL | SequenceSequence ์ฌ์ฉ ๋ฐฉ๋ฒ ํ ์คํธ ํ๋ค๋ณด๋ฉด seq ๊ฐ ์ง์์ ์ผ๋ก ๋์ด๋๊ฑฐ๋ ์ค๋ณต๊ฐ์ ํผํ๊ธฐ ์ํด ์์ ๊ธฐ์ค๋ถํฐ seq ๋ฅผ ์ถ๊ฐํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ํ ์คํธ๊ฐ ๋๋๊ฒ ๋๋ฉด ์์ฑ์ 1 ์ด๋ผ๋ ๊ฐ์ผ๋ก ๋๋ฆฌ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ผ๋ก Sequence ๊ตฌ๋ฌธ์ ํ์ฉํ ์ ์๋ค. ๊ตฌ๋ฌธ create : CREATE SEQUENCE seq_name nextval : nextval('seq_name') currval : currval('seq_name') setval : setval('seq_name', seq_val, [true/false]) drop : DROP SEQUENCE seq_name ์ํ์ค ์์ฑ, ์ญ์ CREATE SEQUENCE mine_seq; DROP SEQUENCE mine_seq; ์ํ์ค ํ์ฌ๊ฐ, ๋ค์๊ฐ SELE..
2023.01.09 -
์์ธ "Data" ๋ผ๋ ๋ฌธ์๊ฐ ํฌํจ๋ DB ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ค๊ณ ํ์ผ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ฆ. ๋ฐฉ๋ฒ '์กฐ๊ฑด%' : '์กฐ๊ฑด'์ผ๋ก ์์ํ๋ ๋ฌธ์ '%์กฐ๊ฑด' : '์กฐ๊ฑด'์ผ๋ก ๋๋๋ ๋ฌธ์ '%์กฐ๊ฑด%' : '์กฐ๊ฑด' ์ด ๋ค์ด๊ฐ๋ ๋ฌธ์ '์กฐ?' : '์กฐ' ๋ฅผ ํฌํจํ ์ธ์์ ํด๋นํ๋ ๋ฌธ์ SELECT [์ปฌ๋ผ๋ช ] FROM [ํ ์ด๋ธ๋ช ] WHERE [์ปฌ๋ผ๋ช ] LIKE '์กฐ๊ฑด๋ฌธ์%' ์ถ์ฒ | JOO studio
SQL | ์กฐ๊ฑด ๋ฐ์ดํฐ ๊ฒ์์์ธ "Data" ๋ผ๋ ๋ฌธ์๊ฐ ํฌํจ๋ DB ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ค๊ณ ํ์ผ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ฆ. ๋ฐฉ๋ฒ '์กฐ๊ฑด%' : '์กฐ๊ฑด'์ผ๋ก ์์ํ๋ ๋ฌธ์ '%์กฐ๊ฑด' : '์กฐ๊ฑด'์ผ๋ก ๋๋๋ ๋ฌธ์ '%์กฐ๊ฑด%' : '์กฐ๊ฑด' ์ด ๋ค์ด๊ฐ๋ ๋ฌธ์ '์กฐ?' : '์กฐ' ๋ฅผ ํฌํจํ ์ธ์์ ํด๋นํ๋ ๋ฌธ์ SELECT [์ปฌ๋ผ๋ช ] FROM [ํ ์ด๋ธ๋ช ] WHERE [์ปฌ๋ผ๋ช ] LIKE '์กฐ๊ฑด๋ฌธ์%' ์ถ์ฒ | JOO studio
2023.01.03 -
๐ 3์ค ์์ฝ ๋ฐ์ดํฐ๋ฒ ์ด์ค(Database, DB) ๋? ๋ฐ์ดํฐ์ ์ ์ฅ์. DBMS(Database Management System, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ) ๋? ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ด์ํ๊ณ ๊ด๋ฆฌํ๋ ์ํํธ์จ์ด. ๊ณ์ธตํ, ๋งํ, ๊ด๊ณํ DBMS ์ค ๋๋ถ๋ถ์ DBMS๊ฐ ํ ์ด๋ธ๋ก ๊ตฌ์ฑ๋ ๊ด๊ณํ DBMS(RDMBS)ํํ๋ก ์ฌ์ฉ. SQL(Structured Query Language) ๋? ๊ตฌ์กฐํ๋ ์ง์ ์ธ์ด๋ผ๋ ๋ป์ผ๋ก ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฌ์ฉ๋๋ ์ธ์ด. ํ์ค SQL ์ ๋ฐฐ์ฐ๋ฉด ๋๋ถ๋ถ์ DBMS ๋ฅผ ์ฌ์ฉํ ์ ์์. ์ถ์ฒ | ํผ๊ณต
SQL | ๊ฐ๋ ๐ 3์ค ์์ฝ ๋ฐ์ดํฐ๋ฒ ์ด์ค(Database, DB) ๋? ๋ฐ์ดํฐ์ ์ ์ฅ์. DBMS(Database Management System, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ) ๋? ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ด์ํ๊ณ ๊ด๋ฆฌํ๋ ์ํํธ์จ์ด. ๊ณ์ธตํ, ๋งํ, ๊ด๊ณํ DBMS ์ค ๋๋ถ๋ถ์ DBMS๊ฐ ํ ์ด๋ธ๋ก ๊ตฌ์ฑ๋ ๊ด๊ณํ DBMS(RDMBS)ํํ๋ก ์ฌ์ฉ. SQL(Structured Query Language) ๋? ๊ตฌ์กฐํ๋ ์ง์ ์ธ์ด๋ผ๋ ๋ป์ผ๋ก ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฌ์ฉ๋๋ ์ธ์ด. ํ์ค SQL ์ ๋ฐฐ์ฐ๋ฉด ๋๋ถ๋ถ์ DBMS ๋ฅผ ์ฌ์ฉํ ์ ์์. ์ถ์ฒ | ํผ๊ณต
2023.01.03