SQL
-
- [Service] ํ๋ฆฌ์ฆ๋ง(Prisma)
ํ๋ฆฌ์ฆ๋ง(Prisma)๋ค์ด๊ฐ๋ฉฐORM(Object-Relational Mapping) ๋๊ตฌ ์ค ํ๋์ธ ํ๋ฆฌ์ฆ๋ง(Prisma)์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. ํ๋ฆฌ์ฆ๋ง(Prisma)๊ฐ๋ ORM(Object-Relational Mapping) ๋๊ตฌ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ์ ์ธํฐํ์ด์ค๋ฅผ ๊ฐํธํ๊ฒ ๋ง๋ค์ด์ฃผ๋ ๊ฐ๋ฐ ๋๊ตฌ์ฃผ๋ก Node.js์ TypeScript ํ๊ฒฝ์์ ์ฌ์ฉ๋๋ค.SQL ์ฟผ๋ฆฌ๋ฅผ ์ง์ ์์ฑํ ํ์ ์์ด ์์ ํ ํ์ ์ ์ฝ๋๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํธ์์ฉํ ์ ์๋๋ก ๋์์ค๋ค. ORM(Object-Relational Mapping)๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ์ฌ์ฉํ๋ ๊ฐ์ฒด(Object)์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(Relational Database)์ ํ ์ด๋ธ ๊ฐ์ ๋งคํ์ ์๋ํํ๋ ๊ธฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ SQL์ด ์..
3 2024.10.22 -
- [Job Preparation] ์ฝ๋ฉ ํ ์คํธ ์ค๋น : SQL
์ฝ๋ฉ ํ ์คํธ ์ค๋น : SQL๋ค์ด๊ฐ๋ฉฐ์ฝ๋ฉ ํ ์คํธ ์ ์ ๊ฐ๋ณ๊ฒ ์ฝ์ด๋ณผ SQL ๊ด๋ จ ๋ด์ฉ๋ค์ ์ ๋ฆฌํด๋ณธ๋ค. SELECT ๋ฌธ๊ธฐ๋ณธ ๊ฐ๋ ๋ฐ์ดํฐ ์กฐํํ๊ธฐSELECT column1, column2 FROM table_name; @DISTINCT@ ํค์๋๋ฅผ ์ด์ฉํ์ฌ ์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ ์ ์๋ค.SELECT DISTINCT column1 FROM table_name; ๋ฐ์ดํฐ ํํฐ๋ง์กฐ๊ฑด์ ํ์ฉํ์ฌ ๋ฐ์ดํฐ ํํฐ๋งํ๊ธฐ@WHERE@ ์ ์ ์ด์ฉํ์ฌ ํน์ ์กฐ๊ฑด์ ๋ง๋ ๋ฐ์ดํฐ๋ฅผ ํํฐ๋งํ๋ค.SELECT * FROM table_name WHERE condition; ๋ ผ๋ฆฌ ์ฐ์ฐ์๋ก @AND@, @OR@, @NOT@์ ์ฌ์ฉํ ์ ์๋ค.@IN@ ์ฐ์ฐ์๋ ์ฌ๋ฌ ๊ฐ ์ค ํ๋์ ์ผ์นํ๋ ๋ฐ์ดํฐ์ธจ ์ฐพ์ ๋ ์ฌ์ฉํ๋ค.SELECT * FROM tabl..
2024.09.22 -
- [PostgreSQL] SERIAL ํค์๋ (AUTO_INCREMENT (MySQL))
SERIAL ํค์๋ (AUTO_INCREMENT (MySQL)) ๋ค์ด๊ฐ๋ฉฐ PostgreSQL์์ ์ฌ์ฉ๋๋ @SERIAL@ ํค์๋์ ๋ํด ์์๋ณด์. @SERIAL@ ๊ฐ๋ ์๋์ผ๋ก ์ฆ๊ฐํ๋ ์ ์ ๊ฐ์ ์์ฑํ๋ ์ปฌ๋ผ ํ์ ์ผ๋ จ๋ฒํธ๋ฅผ ์๋์ผ๋ก ์์ฑํ๊ณ ์ ์ผํ ๊ฐ์ ๊ฐ๋๋ก ๋์์ค๋ค. ๋ณดํต ๊ธฐ๋ณธ ํค(Primary Key)์ ๋ง์ด ์ฌ์ฉ๋๋ค. ์ฌ์ฉ ์ @user_id@ ์ปฌ๋ผ์ ์์ฑํ ๋, ๊ธฐ๋ณธ ํค(@PRIMARY KEY@)์ @SERIAL@ ์ต์ ์ ์ค์ ํ์๋ค. CREATE TABLE users ( user_id SERIAL PRIMARY KEY, username VARCHAR(50), email VARCHAR(100) ); @AUTO_INCREMENT@ (MySQL) MySQL์์๋ PostgreSQL์์ ์ฌ์ฉํ๋ @..
1 2023.11.21 -
- [Node.js] PostgreSQL ์ค์น ๋ฐ ์ฌ์ฉํด๋ณด๊ธฐ
PostgreSQL ์ค์น ๋ฐ ์ฌ์ฉ๋ฐฉ๋ฒ๋ค์ด๊ฐ๋ฉฐNode.js์์ @npm@์ ์ด์ฉํ์ฌ PostgreSQL์ ์ค์นํ๊ณ , ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์. PostgreSQL ์ค์นํ๊ธฐํฐ๋ฏธ๋์ @npm@์ ์ด์ฉํ์ฌ ์๋์ ๋ช ๋ น์ผ๋ก PostgreSQL์ ์ค์นํ ์ ์๋ค.$ npm install pg ์ฌ์ฉ ๋ฐฉ๋ฒ@db.connect()@๋ฅผ ์ด์ฉํ์ฌ PostgreSQL DB์ ์ฐ๋ํ ํ, @db.end()@ ๋ช ๋ น์ ์ด์ฉํ์ฌ DB ์ฐ๋์ ํด์ ํ๋ค.import pg from "pg";const db = new.pg.Client({ user: "postgres", host: "localhost", database: "world", password: "123456", // ์ค์น ์ ์ค์ ํ๋ ์ํธ por..
2023.11.17 -
- [Python] ORM(Object Relational Mapping) ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉํด๋ณด๊ธฐ (SQLAlchemy)
ํ์ด์ฌ์์ ORM(Object Relational Mapping) ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉํด๋ณด๊ธฐ (SQLAlchemy) ๋ค์ด๊ฐ๋ฉฐ ํ์ด์ฌ์์ SQLAlchemy ORM(Object Relational Mapping) ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด๋ณด์. ORM(Object Relational Mapping) ๊ฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด SQL ์ฟผ๋ฆฌ(Query)๋ผ๋ ๊ตฌ์กฐํ๋ ์ง์๋ฅผ ์์ฑํ๊ณ ์คํํ๋ ๋ฑ์ ๋ณต์กํ ๊ณผ์ ์ด ํ์ํ๋ค. ์ด๋ ORM(Object Relational Mapping)์ ์ด์ฉํ๋ฉด ํ์ด์ฌ ๋ฌธ๋ฒ๋ง์ผ๋ก๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ค๋ฃฐ ์ ์๋ค. ์ฆ, ORM์ ์ด์ฉํ๋ฉด ๊ฐ๋ฐ์๊ฐ ์ฟผ๋ฆฌ๋ฅผ ์ง์ ์์ฑํ์ง ์์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ค. ORM์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ํ ์ด๋ธ์ ํ์ด์ฌ ํด๋์ค๋ก ๋ง๋ค์ด ๊ด๋ฆฌํ..
2023.11.14 -
- [SQL] HAVING ์
HAVING ์ ๊ฐ๋ SQL์์ HAVING ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ทธ๋ฃนํ๋ ๊ฒฐ๊ณผ์ ๋ํ ํํฐ๋ง์ ์ํํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. HAVING ์ ์ GROUP BY ์ ๊ณผ ํจ๊ป ์ฌ์ฉ๋๋ฉฐ, GROUP BY ์ ๋ก ๊ทธ๋ฃนํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํน์ ์กฐ๊ฑด์ ๊ฐ์ง ๊ทธ๋ฃน์ ์ ํํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. ์ผ๋ฐ์ ์ธ HAVING ์ ์ ๊ตฌ๋ฌธ์ ๋ค์๊ณผ ๊ฐ๋ค. SELECT column1, column2, aggregate_function(column3) FROM table GROUP BY column1, column2 HAVING condition; SELECT: ๊ฒ์ํ ์ด์ ์ง์ ํ๋ค. ์ผ๋ฐ์ ์ผ๋ก ๊ทธ๋ฃนํ๋ ์ด๊ณผ ์ง๊ณ ํจ์๋ฅผ ํฌํจํ๋ค. table: ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ํ ์ด๋ธ์ ์ด๋ฆ์ด๋ค. GROUP BY: ๊ทธ๋ฃนํํ ์ด์ ์ง์ ํ๋ค. ์ด ์ด์ ๊ธฐ์ค์ผ๋ก ๋ฐ์ด..
2023.08.05 -
- [Programmers-131123][SQL] ์ฆ๊ฒจ์ฐพ๊ธฐ๊ฐ ๊ฐ์ฅ ๋ง์ ์๋น ์ ๋ณด ์ถ๋ ฅํ๊ธฐ
๋ฌธ์ ์ค๋ช ๋ค์์ ์๋น์ ์ ๋ณด๋ฅผ ๋ด์ REST_INFO ํ ์ด๋ธ์ ๋๋ค. REST_INFO ํ ์ด๋ธ์ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ REST_ID, REST_NAME, FOOD_TYPE, VIEWS, FAVORITES, PARKING_LOT, ADDRESS, TEL์ ์๋น ID, ์๋น ์ด๋ฆ, ์์ ์ข ๋ฅ, ์กฐํ์, ์ฆ๊ฒจ์ฐพ๊ธฐ์, ์ฃผ์ฐจ์ฅ ์ ๋ฌด, ์ฃผ์, ์ ํ๋ฒํธ๋ฅผ ์๋ฏธํฉ๋๋ค. Column name Type Nullable REST_ID VARCHAR(5) FALSE REST_NAME VARCHAR(50) FALSE FOOD_TYPE VARCHAR(20) TRUE VIEWS NUMBER TRUE FAVORITES NUMBER TRUE PARKING_LOT VARCHAR(1) TRUE ADDRESS VARCHAR(100) TRUE TE..
2023.08.05 -
- [SQL] ์ฝ๋ฉ ํ ์คํธ ๋๋น SQL ๋ฌธ๋ฒ ์ ๋ฆฌ
์ฝ๋ฉ ํ ์คํธ ๋๋น SQL ๋ฌธ๋ฒ ์ ๋ฆฌ ๋ค์ด๊ฐ๋ฉฐ ์ฝ๋ฉ ํ ์คํธ๋ฅผ ํ๋ฃจ ์๋๊ณ SQL ๋ฌธ๋ฒ์ ์ ๋ฆฌํด๋ณธ๋ค. โ SQL ์ฟผ๋ฆฌ ์์ ์ ๋ ์์ ์ ฐํ ์ ๊ตฌํด์ SELECT - FROM - WHERE - GROUP BY - HAVING - ORDER BY - LIMIT ์คํ ์์ ํ๋ฆฌ์จ์ด ๊ตฌํ์ธ์ FROM - WHERE - GROUP BY - HAVING - SELECT - ORDER BY - LIMIT โก IN ํ์ด์ฌ์ @in@๊ณผ ๊ฐ์ ๋๋์ผ๋ก ์ฌ์ฉํ๋ค. SELECT CATEGORY, PRICE AS MAX_PRICE, PRODUCT_NAME FROM FOOD_PRODUCT WHERE PRICE IN (SELECT MAX(PRICE) FROM FOOD_PRODUCT GROUP BY CATEGORY) AND CATEG..
2023.08.03 -
- [Azure] Visual Studio ์๋น์ค๋ฅผ ์ด์ฉํ์ฌ CRUD ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ๊ธฐ
์ ์ (Azure) Visual Studio ์๋น์ค๋ฅผ ์ด์ฉํ์ฌ CRUD ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ๊ธฐ ๋ค์ด๊ฐ๋ฉฐ Azure์ Visual Studio ์๋น์ค๋ฅผ ์ด์ฉํ์ฌ CRUD ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ํด๋ณด์. CRUD๋, ๋๋ถ๋ถ์ ์ปดํจํฐ ์ํํธ์จ์ด๊ฐ ๊ฐ์ง๋ ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ธ Create(์์ฑ), Read(์ฝ๊ธฐ), Update(๊ฐฑ์ ), Delete(์ญ์ )๋ฅผ ๋ฌถ์ด์ ์ผ์ปซ๋ ๋ง์ด๋ค. ์ค์ต ์ ์ (Azure) ํฌํธ์์ ์๋น์ค ๋ฐฐํฌํ๊ธฐ SQL Database ์๋น์ค ๋ฐฐํฌํ๊ธฐ ์ ์ (Azure) ํฌํธ์์ SQL Database ์๋น์ค๋ฅผ ๋ฐฐํฌํ๋ค. ๋ฐฐํฌ ์ค์ ๊ณผ ๊ด๋ จ๋ ์์ธํ ๋ด์ฉ์ ์๋์ ๊ฒ์๊ธ์ ์ฐธ๊ณ ํ๋ค. [Azure] ๋จ์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง๋ค๊ธฐ ์ ์ (Azure)๋ฅผ ์ด์ฉํ์ฌ ๋จ์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง๋ค๊ธฐ ๋ค์ด๊ฐ๋ฉฐ ์ ์ (Azure)๋ฅผ..
2023.06.07 -
- [Azure] SSMS/VS Code๋ฅผ ์ฌ์ฉํ์ฌ ์ฐ๊ฒฐ ๋ฐ ์ฟผ๋ฆฌ ์ค์ตํ๊ธฐ
SSMS/VS Code๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ (Azure) ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ๋ฐ ์ฟผ๋ฆฌ ์ค์ตํ๊ธฐ ๋ค์ด๊ฐ๋ฉฐ ์ ์ (Azure)์์ SSMS(SQL Server Management Studio) ๋๋ VS Code๋ฅผ ์ฌ์ฉํ์ฌ ์ฐ๊ฒฐ ๋ฐ ์ฟผ๋ฆฌ ์ค์ต์ ํด๋ณด์. ์ด๋ฒ ์ค์ต์ ์ด์ ์ ๊ธ(https://dev-astra.tistory.com/385)์ ์ด์ด์ ์งํํ๋ค. ์ค์ตํ๊ธฐ SSMS์์ ์ค์ตํด๋ณด๊ธฐ SSMS(SQL Server Management Studio) ์ค์น ์๋ ๋งํฌ์์ SSMS๋ฅผ ์ค์นํ๋ค. SSMS(SQL Server Management Studio) ๋ค์ด๋ก๋ - SQL Server Management Studio (SSMS) ์ต์ ๋ฒ์ ์ SSMS(SQL Server Management Studio)๋ฅผ ๋ค์ด๋ก๋ํฉ๋๋ค..
2023.05.23 -
- [Azure] ๋จ์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง๋ค๊ธฐ
์ ์ (Azure)๋ฅผ ์ด์ฉํ์ฌ ๋จ์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง๋ค๊ธฐ ๋ค์ด๊ฐ๋ฉฐ ์ ์ (Azure)๋ฅผ ์ด์ฉํ์ฌ ๋จ์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง๋ค์ด๋ณด์. ์ค์ตํ๊ธฐ ๋จ์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง๋ค๊ธฐ ์ ์ ํฌํธ์ [๋ฆฌ์์ค ๋ง๋ค๊ธฐ]์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค, Azure SQL ์ ํ ๋๋ [SQL ๋ฐฐํฌ ์ต์ ์ ํ] ํ์ด์ง๋ก ์ด๋ํ๋ค. Microsoft Azure portal.azure.com SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฆฌ์์ค ์ ํ์ ๋จ์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ค์ ํ ์ํ๋ก ๋๊ณ [๋ง๋ค๊ธฐ]๋ฅผ ์ ํํ๋ค. ํ์ด์ง์์ ๋ค์๊ณผ ๊ฐ์ด ์ค์ ํ๊ฑฐ๋ ์ถ๊ฐํ๋ค. [๊ธฐ๋ณธ] ํญ ๋ฆฌ์์ค ๊ทธ๋ฃน : ์๋ก ๋ง๋ค๊ฑฐ๋ ์ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ฆ : @mySampleDatabase@ ์๋ฒ [์๋ก ๋ง๋ค๊ธฐ] ์ ํ ํ ์ ์๋ฒ ์์์ ๋ค์๊ณผ ๊ฐ์ด ์ ๋ ฅํ๋ค. ์๋ฒ ์ด๋ฆ : @mysqlserver-xxx@ ์๋ฒ ์ด..
2023.05.23 -
- [SQLD ์ํ ๋๋น] ์ํ์ฅ ๊ฐ๊ธฐ ์ ์ ๊ผญ ๋ด์ผ ํ ์ฃผ๊ด์ ๋ฌธ์ ๋ชจ์
์ํ์ฅ ๊ฐ๊ธฐ ์ ์ ๊ผญ ๋ด์ผ ํ ์ฃผ๊ด์ ๋ฌธ์ ๋ชจ์ ๋ค์ด๊ฐ๋ฉฐ ์ํ์ ๋์ฌ ์ ์๋ ์ฃผ๊ด์ ๋ฌธ์ ๋ค์ ์ ๋ฆฌํด๋ณธ๋ค. ์๋ฃ ์ถ์ฒ : ๋ ธ๋ญ์ด ๋ฌธ์ ์ง, SQLD ์ํ ๋๋น ๋ฌธ์ ์ง ๋ฑ ๋ฌธ์ 1 Q. ๋ชจ๋ธ๋ง์ ํน์ง 3๊ฐ์ง๋ฅผ ์ฐ์์ค. ๋๋ณด๊ธฐ ์ ๋ต : ๋จ์ํ, ์ถ์ํ, ๋ช ํํ ํด์ค : ๋จ์ถ๋ช ๋ฌธ์ 2 Q. ๊ฐ ์์ฑ์ด ๊ฐ์ง ์ ์๋ ๊ฐ์ ๋ฒ์๋ฅผ ๋ปํ๋ ์ฉ์ด๋ฅผ ์ฐ์์ค. ๋๋ณด๊ธฐ ์ ๋ต : ๋๋ฉ์ธ(Domain) ํด์ค : ๊ฐ์ ๋ฒ์ -> ๋๋ฉ์ธ ๋ฌธ์ 3 Q. DCL์ ์ํ๋ ๋ช ๋ น์ด๋ฅผ ์ฐ์์ค. ๋๋ณด๊ธฐ ์ ๋ต : GRANT, REVOKE ํด์ค : DCL์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌ(Control)ํ๋ ๋ช ๋ น์ด์ด๋ค. DCL์ ๊ทธ(GRANT), ๋(REVOKE) ๋ฌธ์ 4 Q. DDL์ ์ํ๋ ๋ช ๋ น์ด๋ฅผ ์ฐ์์ค. ๋๋ณด๊ธฐ ์ ๋ต : CREATE, ALTER, DRO..
2023.03.16 -
- [SQLD ์ํ ๋๋น] ๋ ธ๋ญ์ด ๋ฌธ์ ํ์ด โค : SQL ์ต์ ํ ๊ธฐ๋ณธ ์๋ฆฌ
๋ ธ๋ญ์ด ๋ฌธ์ ํ์ด โค : SQL ์ต์ ํ ๊ธฐ๋ณธ ์๋ฆฌ ๋ฌธ์ 1 Q. ์๋ ( ใฑ )์ ํด๋นํ๋ ๋ด์ฉ์ ์์ฑํ์์ค. ํ ์ด๋ธ ๋ฐ ์ธ๋ฑ์ค ๋ฑ์ ํต๊ณ ์ ๋ณด๋ฅผ ํ์ฉํ์ฌ SQL๋ฌธ์ ์คํํ๋๋ฐ ์์๋ ์ฒ๋ฆฌ์๊ฐ ๋ฐ CPU, I/O ์์๋ ๋ฑ์ ๊ณ์ฐํ์ฌ ๊ฐ์ฅ ํจ์จ์ ์ผ ๊ฒ์ผ๋ก ์์๋๋ ์คํ ๊ณํ์ ์ ํํ๋ ์ตํฐ๋ง์ด์ ๋ฅผ ( ใฑ ) ๋ผ ํ๋ค. ์ ๋ต : CBO / ๋น์ฉ๊ธฐ๋ฐ ์ตํฐ๋ง์ด์ / Cost Based Optimizer ํด์ค : ํต๊ณ ์ ๋ณด๋ฅผ ํ์ฉํ๋ ๊ฒ์ CBO์ด๋ค. ๋ฌธ์ 2 Q. ๋ค์ ์ค ์คํ ๊ณํ์ ํตํด์ ์ ์ ์๋ ์ ๋ณด๋ก ๊ฐ์ฅ ๋ถ์ ์ ํ ๊ฒ์? โ ์ก์ธ์ค ๊ธฐ๋ฒ โก ์ง์ ์ฒ๋ฆฌ ์์ ๋น์ฉ(Cost) โข ์กฐ์ธ ์์ โฃ ์ค์ ์ฒ๋ฆฌ ๊ฑด์ ์ ๋ต : โฃ ํด์ค : ์คํ ๊ณํ์ ์์ ์ ๋ณด์ด๋ค. ์ค์ ์ฒ๋ฆฌ ๊ฑด์๋ ํธ๋ ์ด์ค ์ ๋ณด๋ฅผ ํตํด์ ์..
2023.03.13 -
- [SQLD ์ํ ๋๋น] ๋ ธ๋ญ์ด ๋ฌธ์ ํ์ด โฃ : SQL ํ์ฉ
๋ ธ๋ญ์ด ๋ฌธ์ ํ์ด โฃ : SQL ํ์ฉ ๋ฌธ์ 1 Q. ๋ค์ ์ค ์์ ๊ด๊ณ ์ฐ์ฐ์์ ํด๋นํ์ง ์๋ ๊ฒ์? โ SELECT โก UPDATE โข JOIN โฃ DIVIDE ์ ๋ต : โก ํด์ค : ์์ ๊ด๊ณ ์ฐ์ฐ์๋ก๋ ์ ํ์กฐ๋(SELECT, PROJECT, JOIN, DIVIDE)๊ฐ ์๋ค. ๋ฌธ์ 2 Q. ๋ค์ ์ค ์๋ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ฐธ๊ณ ํ์ฌ ์ค๋ช ์ ๋ง๊ฒ ์ฌ๋ฐ๋ฅด๊ฒ ์์ฑํ SQL ๋ฌธ์ฅ์ 2๊ฐ ๊ณ ๋ฅด์์ค. [์ค๋ช ] ์ฐ๋ฆฌ๋ ๋งค์ผ ๋ฐฐ์น์์ ์ ํตํ์ฌ ๊ณ ๊ฐ์๊ฒ ์ถ์ฒํ ์ปจํ ์ธ ๋ฅผ ์์ฑํ๊ณ ๊ณ ๊ฐ์๊ฒ ์ถ์ฒ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ค. ์ถ์ฒ ์ปจํ ์ธ ์ํฐํฐ์์ ์ธ์ ์ถ์ฒ์ ํด์ผ ํ๋์ง๋ฅผ ์ ์ํ๋ ์ถ์ฒ ๋์์ผ์๊ฐ ์์ด ํด๋น์ผ์์๋ง ์ปจํ ์ธ ๋ฅผ ์ถ์ฒํด์ผ ํ๋ค. ๋ํ ๊ณ ๊ฐ์ด ์ปจํ ์ธ ๋ฅผ ์ถ์ฒ ๋ฐ์์ ๋ ์ ํธํ๋ ์ปคํ ์ธ ๊ฐ ์๋ ๊ฒฝ์ฐ์๋ ๊ณ ๊ฐ์ด ๋น์ ํธ ์ปจํ ์ธ ๋ก ๋ถ๋ฅ..
1 2023.03.13 -
- [SQLD ์ํ ๋๋น] ๋ ธ๋ญ์ด ๋ฌธ์ ํ์ด โข : SQL ๊ธฐ๋ณธ
SQLD ๋ ธ๋ญ์ด ๋ฌธ์ ํ์ด โข : SQL ๊ธฐ๋ณธ ๋ฌธ์ 1 Q. ๋ค์ ์ค ๋ฐ์ดํฐ ์ ์ด์ด(DCL)์ ํด๋นํ๋ ๋ช ๋ น์ด๋? โ INSERT โก RENAME โข COMMIT โฃ REVOKE ์ ๋ต : โฃ ํด์ค : - ๋ฐ์ดํฐ ์ ์์ด(DDL) : ํฌ์๋ํธ๋ฆฌ (CREATE / ALTER / DROP / TRUNCATE / RENAME) - ๋ฐ์ดํฐ ์กฐ์์ด(DML) : ์ธ์ธ์ ๋ฐ (SELECT / INSERT / UPDATE / DELETE) - ๋ฐ์ดํฐ ์ ์ด์ด(DCL) : ๊ทธ๋ (GRANT / REVOKE) - ํธ๋์ญ์ ์ ์ด์ด(TCL) : ์ปค๋กค์ฒด (COMMIT / ROLLBACK / CHECKPOINT) ๋ฌธ์ 2 Q. ๋ค์ ์ค ์๋ ๋ด์ฉ์ ๋ฒ์ฃผ์ ํด๋นํ๋ SQL ๋ช ๋ น์ด๋ก ์ณ์ง ์์ ๊ฒ์? ํ ์ด๋ธ์ ๊ตฌ์กฐ๋ฅผ ์์ฑ, ๋ณ๊ฒฝ, ์ญ์ ํ๋..
3 2023.03.12 -
- [SQLD ์ํ ๋๋น] ๋ ธ๋ญ์ด ๋ฌธ์ ํ์ด โก : ๋ฐ์ดํฐ ๋ชจ๋ธ๊ณผ ์ฑ๋ฅ
SQLD ๋ ธ๋ญ์ด ๋ฌธ์ ํ์ด โก : ๋ฐ์ดํฐ ๋ชจ๋ธ๊ณผ ์ฑ๋ฅ ๋ฌธ์ 1 Q. ๋ค์ ์ค ์ฑ๋ฅ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ๋ํ ์ค๋ช ์ผ๋ก ๊ฐ์ฅ ๋ถ์ ์ ํ ๊ฒ์? โ ์ฑ๋ฅ์ด ์ ํ๋ ๊ฒฐ๊ณผ๋ฅผ ๋์์ผ๋ก ๋ฐ์ดํฐ ๋ชจ๋ธ ๋ณด๋ค๋ ๋ฌธ์ ๋ฐ์ ์์ ์ SQL์ ์ค์ฌ์ผ๋ก ์ง์คํ์ฌ ํ๋์ ํ๋ค. โก ๋ฐ์ดํฐ์ ์ฆ๊ฐ๊ฐ ๋น ๋ฅผ์๋ก ์ฑ๋ฅ ์ ํ์ ๋ฐ๋ฅธ ์ฑ๋ฅ ๊ฐ์ ๋น์ฉ์ ์ฆ๊ฐํ๋ค. โข ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ํ๋ํ๋ฉด์ ๋ณ๊ฒฝ์ด ๋ ์ ์๋ ํน์ง์ด ์๋ค. โฃ ๋ถ์/์ค๊ณ ๋จ๊ณ์์ ์ฑ๋ฅ์ ๊ณ ๋ คํ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ์ํํ ๊ฒฝ์ฐ, ์ฑ๋ฅ ์ ํ์ ๋ฐ๋ฅธ Rework ๋น์ฉ์ ์ต์ํ ํ ์ ์๋ ๊ธฐํ๋ฅผ ๊ฐ์ง๊ฒ ๋๋ค. ์ ๋ต : โ ํด์ค : ๋ฌธ์ ๋ฐ์ ์์ ์ SQL์ ์ง์คํ์ฌ ํ๋ํ๋ ๊ฒ์ ์ฑ๋ฅ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง๊ณผ ๋ฌด๊ดํ ๋ด์ฉ์ด๋ค. ๋ถ์ ๋จ๊ณ๋ถํฐ ์ฑ๋ฅ๊ณผ ๊ด๋ จ๋ ์ฌ๋ฌ ๋ฐฉ์๋ค์ ๋ชจ๋ธ๋ง์ ๋ฐ์ํ๋ ๊ฒ..
2023.03.11 -
- [SQLD ์ํ ๋๋น] ๋ ธ๋ญ์ด ๋ฌธ์ ํ์ด โ : ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ์ดํด
SQLD ๋ ธ๋ญ์ด ๋ฌธ์ ํ์ด โ : ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ์ดํด ๋ฌธ์ 1 Q. ๋ชจ๋ธ๋ง์ ํ์ค์ธ๊ณ์ ๋ํด์ ํํํ๋ ๊ฒ์ผ๋ก ์ดํดํ ์ ์๋ค. ๋ค์ ์ค ๋ชจ๋ธ๋ง์ ํน์ง์ผ๋ก ๊ฐ์ฅ ๋ถ์ ์ ํ ๊ฒ์? โ ํ์ค์ธ๊ณ๋ฅผ ์ผ์ ํ ํ์์ ๋ง์ถ์ด ํํํ๋ ์ถ์ํ์ ์๋ฏธ๋ฅผ ๊ฐ์ง ์ ์์. โก ์์คํ ๊ตฌํ๋ง์ ์ํด ์งํํ๋ ์ฌ์ ๋จ๊ณ์ ์์ ์ผ๋ก์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์ถ์ ์ํ ์ฌ์ ์์ ์ ์๋ฏธ๊ฐ ์์. โข ๋ณต์กํ ํ์ค์ ์ ํ๋ ์ธ์ด๋ ํ๊ธฐ๋ฒ์ ํตํด ์ดํดํ๊ธฐ ์ฝ๊ฒ ํ๋ ๋จ์ํ์ ์๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์์. โฃ ์ ๋งค๋ชจํธํจ์ ๋ฐฐ์ ํ๊ณ ๋๊ตฌ๋ ์ดํด๊ฐ ๊ฐ๋ฅํ๋๋ก ์ ํํ๊ฒ ํ์์ ๊ธฐ์ ํ๋ ์ ํํ์ ์๋ฏธ๋ฅผ ๊ฐ์ง. ์ ๋ต : โก ํด์ค : ๋ชจ๋ธ๋ง์ ํน์ง์ผ๋ก๋ ๋จ์ํ, ์ถ์ํ, ์ ํํ(๋จ์ถ์ )๊ฐ ์๋ค. โก๋ ๋ชจ๋ธ๋ง์ ์๋ฏธ๋ฅผ ๋ปํ๋ค. ๋ฌธ์ 2 Q. ๋ค์ ์ค๋ช ์ค ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง..
2023.03.11 -
- [SQL] ์ค๋ผํด(Oracle)์ด ์ง์ํ๋ ํํฐ์ ์ ํ
์ค๋ผํด(Oracle)์ด ์ง์ํ๋ ํํฐ์ ์ ํ โ Range ํํฐ์๋ - ํํฐ์ ํค ๊ฐ์ ๋ฒ์(Range)๋ก ๋ถํ - ํํฐ์ ๋์ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ํํ์ด๋ฉฐ, ์ฃผ๋ก ๋ ์ง ์นผ๋ผ์ ๊ธฐ์ค์ผ๋ก ํจ. ์) ํ๋งค ๋ฐ์ดํฐ๋ฅผ ์๋ณ๋ก ๋ถํ โก Hash ํํฐ์ ๋ - ํํฐ์ ํค ๊ฐ์ ํด์ ํจ์๋ฅผ ์ ์ฉํ๊ณ , ๊ฑฐ๊ธฐ์ ๋ฐํ๋ ๊ฐ์ผ๋ก ํํฐ์ ๋งค๋ฐ - ๋ฐ์ดํฐ๊ฐ ๋ชจ๋ ํํฐ์ ์ ๊ณ ๋ฅด๊ฒ ๋ถ์ฐ๋๋๋ก DBMS๊ฐ ๊ด๋ฆฌ → ๊ฐ ํ(Row)์ ์ ์ฅ ์์น ์์ธก ๋ถ๊ฐ - ํํฐ์ ํค์ ๋ฐ์ดํฐ ๋ถํฌ๊ฐ ๊ณ ๋ฅธ ์นผ๋ผ์ด์ด์ผ ํจ๊ณผ์ ์)๊ณ ๊ฐ๋ฒํธ, ์ฃผ๋ฌธ์ผ๋ จ๋ฒํธ ๋ฑ - ๋ณ๋ ฌ์ฒ๋ฆฌ ์ ์ฑ๋ฅ ํจ๊ณผ ๊ทน๋ํ - DML ๊ฒฝํฉ ๋ถ์ฐ์ ํจ๊ณผ์ โข List ํํฐ์๋ - ๋ถ์ฐ์์ ์ธ ๊ฐ์ ๋ชฉ๋ก์ ๊ฐ ํํฐ์ ์ ์ง์ - ์์์ ์๊ด์์ด, ์ฌ์ฉ์๊ฐ ๋ฏธ๋ฆฌ ์ ํ ๊ทธ๋ฃนํ ๊ธฐ์ค์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฅผ ๋ถํ ์ ์ฅ..
2022.07.06 -
- [SQL] ๋ณํ๋๋ ๋ฐ์ดํฐ์ ํํ์ ๋ฐ๋ฅธ ์๋ธ์ฟผ๋ฆฌ์ ๋ถ๋ฅ
๋ณํ๋๋ ๋ฐ์ดํฐ์ ํํ์ ๋ฐ๋ฅธ ์๋ธ์ฟผ๋ฆฌ์ ๋ถ๋ฅ ์๋ธ์ฟผ๋ฆฌ ์ข ๋ฅ ์ค๋ช Single Row ์๋ธ์ฟผ๋ฆฌ (๋จ์ผ ํ ์๋ธ์ฟผ๋ฆฌ) - ์๋ธ์ฟผ๋ฆฌ์ ์คํ ๊ฒฐ๊ณผ๊ฐ ํญ์ 1๊ฑด ์ดํ์ธ ์๋ธ์ฟผ๋ฆฌ๋ฅผ ์๋ฏธํ๋ค. - ๋จ์ผ ํ ๋น๊ต ์ฐ์ฐ์์ ํจ๊ป ์ฌ์ฉ๋๋ค. - ๋จ์ผ ํ ๋น๊ต ์ฐ์ฐ์์๋ =, =, ์ด ์๋ค. Multi Row ์๋ธ์ฟผ๋ฆฌ (๋ค์ค ํ ์๋ธ์ฟผ๋ฆฌ) - ์๋ธ์ฟผ๋ฆฌ์ ์คํ ๊ฒฐ๊ณผ๊ฐ ์ฌ๋ฌ ๊ฑด์ธ ์๋ธ์ฟผ๋ฆฌ๋ฅผ ์๋ฏธํ๋ค. - ๋ค์ค ํ ๋น๊ต ์ฐ์ฐ์์ ํจ๊ป ์ฌ์ฉ๋๋ค. - ๋ค์ค ํ ๋น๊ต ์ฐ์ฐ์์๋ IN, ALL, ANY, SOME, EXISTS ๊ฐ ์๋ค. Multi Column ์๋ธ์ฟผ๋ฆฌ (๋ค์ค ์นผ๋ผ ์๋ธ์ฟผ๋ฆฌ) - ์๋ธ์ฟผ๋ฆฌ์ ์คํ ๊ฒฐ๊ณผ๋ก ์ฌ๋ฌ ์นผ๋ผ์ ๋ฐํํ๋ค. - ๋ฉ์ธ์ฟผ๋ฆฌ์ ์กฐ๊ฑด์ ์ ์ฌ๋ฌ ์นผ๋ผ์ ๋์์ ๋น๊ตํ ์ ์๋ค. - ์๋ธ์ฟผ๋ฆฌ์ ๋ฉ์ธ์ฟผ๋ฆฌ์์ ๋น๊ต ..
2022.06.28 -
- [SQL] ์งํฉ ์ฐ์ฐ์์ ์ข ๋ฅ
์งํฉ ์ฐ์ฐ์์ ์ข ๋ฅ SQL์ ์งํฉ ์ฐ์ฐ์์ ์ข ๋ฅ์๋ UNION, UNION ALL, INTERSECT, EXCEPT ๊ฐ ์๋ค. ์งํฉ ์ฐ์ฐ์ ์๋ฏธ UNION ์ฌ๋ฌ ๊ฐ์ SQL๋ฌธ์ ๊ฒฐ๊ณผ์ ๋ํ ํฉ์งํฉ์ผ๋ก ๊ฒฐ๊ณผ์์ ๋ชจ๋ ์ค๋ณต๋ ํ์ ํ๋์ ํ์ผ๋ก ๋ง๋ ๋ค. UNION ALL - ์ฌ๋ฌ ๊ฐ์ SQL๋ฌธ์ ๊ฒฐ๊ณผ์ ๋ํ ํฉ์งํฉ์ผ๋ก ์ค๋ณต๋ ํ๋ ๊ทธ๋๋ก ๊ฒฐ๊ณผ๋ก ํ์๋๋ค. - ์ฆ, ๋จ์ํ ๊ฒฐ๊ณผ๋ง ํฉ์น๋์ ๊ฒ์ด๋ค. - ์ผ๋ฐ์ ์ผ๋ก ์ฌ๋ฌ ์ง์ ๊ฒฐ๊ณผ๊ฐ ์ํธ ๋ฐฐํ์ (Exclusive)์ผ ๋ ๋ง์ด ์ฌ์ฉํ๋ค. - ๊ฐ๋ณ SQL๋ฌธ์ ๊ฒฐ๊ณผ๋ ์๋ก ์ค๋ณต๋์ง ์๋ ๊ฒฝ์ฐ, UNION๊ณผ ๊ฒฐ๊ณผ๊ฐ ๋์ผํ๋ค. (๊ฒฐ๊ณผ์ ์ ๋ ฌ ์์์๋ ์ฐจ์ด๊ฐ ์์ ์ ์์.) INTERSECT - ์ฌ๋ฌ ๊ฐ์ SQL๋ฌธ์ ๊ฒฐ๊ณผ์ ๋ํ ๊ต์งํฉ์ด๋ค. - ์ค๋ณต๋ ํ์ ํ๋์ ํ์ผ๋ก ..
2022.06.26 -
- [SQL] ๋จ์ผํ ๋ฌธ์ํ ํจ์์ ์ข ๋ฅ
SQL ๋จ์ผํ ๋ฌธ์์ด ํจ์์ ์ข ๋ฅ ๋ฌธ์ํ ํจ์ ์ค๋ช LOWER(๋ฌธ์์ด) ๋ฌธ์์ด์ ์ํ๋ฑ ๋ฌธ์๋ฅผ ์๋ฌธ์๋ก ๋ฐ๊พธ์ด ์ค๋ค. UPPER(๋ฌธ์์ด) ๋ฌธ์์ด์ ์ํ๋ฒณ ๋ฌธ์๋ฅผ ๋๋ฌธ์๋ก ๋ฐ๊พธ์ด ์ค๋ค. ASCII(์ซ์) ๋ฌธ์๋ ์ซ์๋ฅผ ASCII ์ฝ๋ ๋ฒํธ๋ก ๋ฐ๊พธ์ด ์ค๋ค. CHR/CHAR(ASCII๋ฒํธ) ASCII ์ฝ๋ ๋ฒํธ๋ฅผ ๋ฌธ์๋ ์ซ์๋ก ๋ฐ๊พธ์ด ์ค๋ค. CONCAT(๋ฌธ์์ด1, ๋ฌธ์์ด2) - Oracle, MySQL์์ ์ ํจํ ํจ์์ด๋ฉฐ ๋ฌธ์์ด1๊ณผ ๋ฌธ์์ด2๋ธ ์ฐ๊ฒฐํ๋ค. - ํฉ์ฑ ์ฐ์ฐ์ '||'(Oracle)๋ '+'(SQL Server)์ ๋์ผํ๋ค. SUBSTR/SUBSTRING(๋ฌธ์์ด, m[, n]) - ๋ฌธ์์ด ์ค m ์์น์์ n๊ฐ์ ๋ฌธ์ ๊ธธ์ด์ ํด๋นํ๋ ๋ฌธ์๋ฅผ ๋๋ ค์ค๋ค. - n์ด ์๋ต๋๋ฉด ๋ง์ง๋ง ๋ฌธ์๊น์ง์ด๋ค. LENGTH..
2022.06.25 -
- [SQL] ์ฐ์ฐ์์ ์ข ๋ฅ
SQL ์ฐ์ฐ์์ ์ข ๋ฅ SQL ์ฐ์ฐ์์๋ ๋น๊ต ์ฐ์ฐ์, SQL ์ฐ์ฐ์, ๋ ผ๋ฆฌ ์ฐ์ฐ์, ๋ถ์ ๋น๊ต ์ฐ์ฐ์, ๋ถ์ SQL ์ฐ์ฐ์๊ฐ ์๋ค. ๊ตฌ๋ถ ์ฐ์ฐ์ ์๋ฏธ ๋น๊ต ์ฐ์ฐ์ = ๊ฐ๋ค. > ๋ณด๋ค ํฌ๋ค. >= ๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๋ค.
2022.06.25