๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋งฅ๋ฝ์์ Have ์ ์ SQL(Structured Query Language) ์ง๊ณ ํจ์๋ฅผ ํตํด ๊ฒ์๋ ๋ฐ์ดํฐ์ ๊ณ ๊ธ ํํฐ๋ง์ ์ฉ์ดํ๊ฒ ํ๋๋ก ์ค๊ณ๋ ๊ฐ๋ ฅํ๊ณ ํ์์ ์ธ ๊ตฌ์ฑ์ ๋๋ค. ์ง๊ณ ํจ์๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ์งํฉ์ ๋ํด ๊ณ์ฐ์ ์ํํ๊ณ ๋จ์ผ ์ถ๋ ฅ ๊ฐ์ ๋ฐํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ผ๋ฐ์ ์ธ ์ง๊ณ ํจ์์๋ COUNT, SUM, AVG, MAX ๋ฐ MIN์ด ํฌํจ๋ฉ๋๋ค. Have ์ ์ GROUP BY ์ ๋ค์ ์ ์ฉ๋๋ฉฐ ์ง์ ๋ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ด๋ฌํ ์ง๊ณ ํจ์์์ ํ์๋ ๊ฒฐ๊ณผ๋ฅผ ํํฐ๋งํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
Have ์ ๊ณผ ๋ณด๋ค ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ WHERE ์ ์ ์ฃผ์ ์ฐจ์ด์ ์ ์๋ก ๋ค๋ฅธ ์ํฉ์ ์ ์ฉ๋๋ค๋ ์ ์ ๋๋ค. WHERE ์ ์ ์ง๊ณ ํจ์๋ฅผ ์ ์ฉํ๊ธฐ ์ ์ ๋ ์ฝ๋๋ฅผ ํํฐ๋งํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ฐ๋ฉด, Have ์ ์ ์ง๊ณ๊ฐ ๋ฐ์ํ ํ์ ํ์ฉ๋ฉ๋๋ค. ๋ฐ๋ผ์ ์ง๊ณ๋ ๋ฐ์ดํฐ์ ๋ํด ์๋ํ๋ฏ๋ก ๊ฐ๋ฐ์๋ ์ง๊ณ ํจ์์ ๊ฒฐ๊ณผ์ ๋ํ ํน์ ์กฐ๊ฑด๊ณผ ์ ์ฝ ์กฐ๊ฑด์ ์ค์ ํ์ฌ ์๊ตฌ ์ฌํญ์ ๋ง๊ฒ ๊ฒฐ๊ณผ๋ฅผ ๊ตฌ์ฒดํํ ์ ์์ต๋๋ค.
Have ์ ์ ์ค์์ฑ๊ณผ ์ค์ ์ ์ฉ์ ์ดํดํ๋ ๊ฒ์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ์์๊ฒ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ต์ฒจ๋จ no-code ํ๋ซํผ์ธ AppMaster ํ๋ฉด ๊ณ ๊ฐ์ ๋น๊ตํ ์ ์์ ๋งํผ ์ฝ๊ณ ํจ์จ์ ์ผ๋ก ๋ฐฑ์๋, ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค. AppMaster ์ ๊ฐ๋ ฅํ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๋ ๋ฐ์ดํฐ ๋ชจ๋ธ(๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง), ๋น์ฆ๋์ค ๋ก์ง(๋น์ฆ๋์ค ํ๋ก์ธ์ค๋ผ๊ณ ํจ), REST API ๋ฐ WSS ์๋ํฌ์ธํธ๋ฅผ ์๊ฐ์ ์ผ๋ก ์์ฑํ ์ ์์ต๋๋ค. ๋ํ AppMaster ๋ชจ๋ PostgreSQL ํธํ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ํํ ์ํธ ์์ฉ์ ๊ธฐ๋ณธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ผ๋ก ์ง์ํ์ฌ ๊ฐ๋ฐ ํ๋ก์ธ์ค์์ Have ์กฐํญ์ ๊ด๋ จ์ฑ์ ๋์ฑ ๊ฐํํฉ๋๋ค.
Have ์ ์ ์ฌ์ฉ๋ฒ์ ์ค๋ช ํ๊ธฐ ์ํด ๋ค์ ์๋ฅผ ๊ณ ๋ คํด ๋ณด๊ฒ ์ต๋๋ค. ํ์ฌ์์ ํน์ ์๊ณ๊ฐ์ ์ด๊ณผํ๋ ํ๋งค๋์ด ์๋ ๋ฒ์ฃผ๋ณ๋ก ํํฐ๋งํ์ฌ ์ ํ์ ์ด ํ๋งค๋์ ์์ธํ ์ค๋ช ํ๋ ๋ณด๊ณ ์๋ฅผ ์์ฑํด์ผ ํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ์ด ์๋๋ฆฌ์ค์์๋ GROUP BY ์ ์ ์ฌ์ฉํ์ฌ ์ ํ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ทธ๋ฃนํํ๊ณ , Have ์ ์ ์ฌ์ฉํ์ฌ ๊ท์ ๋ ์กฐ๊ฑด(์: ํ๋งค ์๊ณ๊ฐ)์ ๋ฐ๋ผ ๊ทธ๋ฃนํ๋ ๋ฐ์ดํฐ๋ฅผ ํํฐ๋งํฉ๋๋ค. Have ์ ์ ํ์ฉํ๋ ์์ SQL ์ฟผ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์นดํ
๊ณ ๋ฆฌ ์ ํ, SUM(sales_volume) AS total_sales
์ ํ์์
์นดํ
๊ณ ๋ฆฌ๋ณ ๊ทธ๋ฃน
HAVING total_sales > ํน์ _์๊ณ๊ฐ;
์ ์ฟผ๋ฆฌ์์๋ "products" ํ ์ด๋ธ์ ๋ฐ์ดํฐ๊ฐ "category" ์ด์ ๊ธฐ์ค์ผ๋ก ๊ทธ๋ฃนํ๋๊ณ "SUM" ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ง๊ณ๋ ํ๋งค๋์ด ๊ณ์ฐ๋ฉ๋๋ค. ๊ทธ๋ฐ ๋ค์, ์ด ํ๋งค๋์ด ์ง์ ๋ ์๊ณ๊ฐ๋ณด๋ค ํฐ ๋ฒ์ฃผ๋ง ํ์ํ๋๋ก ๊ฒฐ๊ณผ๋ฅผ ํํฐ๋งํ๊ธฐ ์ํด Have ์ ์ด ๋์ ๋์์ต๋๋ค.
์์ ์์ ๋ณผ ์ ์๋ฏ์ด, Have ์ ์ ์ง๊ณ ํจ์์ ๊ด๋ จ๋ ๋ณต์กํ ๋ฐ์ดํฐ ์กฐ์ ์์ ์ ์ฒ๋ฆฌํ ๋ SQL์ ํ์ ์์์ ๋๋ค. ์ด๋ฅผ ์ ์ ํ๊ฒ ๊ตฌํํ๋ฉด ํน์ ๊ธฐ์ค์ ์ค์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์, ํํฐ๋ง ๋ฐ ํ์ํ๋ ์์ ์ด ๊ฐ์ํ๋์ด ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์ถ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋ฐ์ ์ธ ํจ์จ์ฑ๊ณผ ์ฑ๋ฅ์ ์ง์ ์ ์ผ๋ก ๊ธฐ์ฌํฉ๋๋ค.
AppMaster ์ ๊ฐ๋ ฅํ no-code ํ๋ซํผ์ ์น, ๋ชจ๋ฐ์ผ ๋ฐ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค๊ณ, ๊ฐ๋ฐ ๋ฐ ๋ฐฐํฌ์ ๊ด๋ จ๋ ์๊ฐ๊ณผ ๋น์ฉ์ ํฌ๊ฒ ์ค์ฌ์ค๋๋ค. Have ์ ๊ณผ ๊ธฐํ SQL ๊ตฌ์ฑ์ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ AppMaster ๋์์์ด ์งํํ๋ ์ฌ์ฉ์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋ ์ต์ฒจ๋จ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๊ธฐ ์ํ ํ์ฅ ๊ฐ๋ฅํ๊ณ ์ ์ ๊ฐ๋ฅํ ์๋ฃจ์ ์ ์ ๊ณตํฉ๋๋ค. ํ๋ซํผ์ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ฉ Go(golang), ์น ์ ํ๋ฆฌ์ผ์ด์ ์ฉ Vue3 ํ๋ ์์ํฌ ๋ฐ JS/TS, ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ฉ Kotlin, Jetpack Compose ๋ฐ SwiftUI ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ฉ ์์ค ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. ๊ทธ ๊ฒฐ๊ณผ, ๋ํํ UI, ์ง๊ด์ ์ธ ๋น์ฆ๋์ค ๋ก์ง, ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ํํ ํตํฉ์ ๊ฐ์ถ ํฌ๊ด์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๊ตฐ์ด ํ์ํ์ผ๋ฉฐ ์ด ๋ชจ๋ ์์ ์ ๋จ ํ ์ค์ ์ฝ๋๋ ์์ฑํ์ง ์๊ณ ๋ ์ํ๋ฉ๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก, Have ์ ์ ์ง๊ณ ํจ์์ ๊ด๋ จ๋ ๊ณ ๊ธ ๋ฐ์ดํฐ ํํฐ๋ง์ ์ฉ์ดํ๊ฒ ํ๋ ํ์ SQL ๊ตฌ๋ฌธ์ ๋๋ค. ์ง๊ณ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ ํ๊ณ ์กฐ์ํ๋ ๊ธฐ๋ฅ์ ํตํด Have ์กฐํญ์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ต์ ํ ๋ฐ ์ฑ๋ฅ์ ํฌ๊ฒ ๊ธฐ์ฌํฉ๋๋ค. AppMaster ์ no-code ํ๋ซํผ์ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ ํ์ฉํ๋ ์ฌ๋๋ค์ ์ํด Have Clause๋ ์ต์ข ์ฌ์ฉ์์ ๋ค์ํ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋ ํจ์จ์ ์ด๊ณ ํ์ฅ ๊ฐ๋ฅํ๋ฉฐ ํฌ๊ด์ ์ธ ์ํํธ์จ์ด๋ฅผ ๋ง๋๋ ๋ฐ ์์ด์๋ ์ ๋ ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค.