[Sequelize] ํƒ์ƒ‰ํ•˜๊ธฐ (select)

[์›๋ณธ ๋งํฌ]

๋ชจ๋ธ์˜ ์ •์˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๊ณ 

๋„ฃ์–ด๋‘” ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.



์ „๋ถ€ ์ฝ์–ด์˜ค๊ธฐ

๊ฐ’ ๋ชฉ๋ก์„ ์ „๋ถ€ ์ฝ์–ด์˜ค๋Š” ๋ฐ๋Š” ๋ชจ๋ธ์˜ findAll ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

๋Œ€์ถฉ ์ด๋ ‡๊ฒŒ ๊ทธ๋ƒฅ ๊ฐ€์ ธ์˜ค๋ฉด


์œ„์™€ ๊ฐ™์ด ๊ฐ์ฒด์˜ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜์„ ํ•ด์ค€๋‹ค.

๋ญ”๊ฐ€ ๊ทธ๋ƒฅ ๋ณด๋ฉด ์ง€์ €๋ถ„ํ•œ๋ฐ

๊ทธ๋ƒฅ ๋ฐฐ์—ด์ฒ˜๋Ÿผ ์“ธ ์ˆ˜ ์žˆ๊ณ , ๊ฐ ์ปฌ๋Ÿผ๊ฐ’ ์ ‘๊ทผ์€ ๊ทธ๋ƒฅ ์˜ค๋ธŒ์ ํŠธ์ฒ˜๋Ÿผ ํ•  ์ˆ˜ ์žˆ๋‹ค.



limit์™€ offset

ํŽ˜์ด์ง€๋„ค์ด์…˜ ๋“ฑ์„ ์ฒ˜๋ฆฌํ•˜๋‹ค ๋ณด๋ฉด, ์˜คํ”„์…‹๊ณผ ๋ฆฌ๋ฏธํŠธ ๋“ฑ์„ ํ™œ์šฉํ•ด์„œ ํŽ˜์ด์ง€๋ฅผ ์ชผ๊ฐค ์ผ์ด ์•„์ฃผ ์žฆ๋‹ค.
์‹œํ€„๋ผ์ด์ฆˆ๋กœ ์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด, ์˜ต์…˜๊ฐ’์— ๋ฆฌ๋ฏธํŠธ์™€ ์˜คํ”„์…‹์„ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค.

์ด๋Ÿฌ๋ฉด 0์ธ๋ฑ์Šค๋ถ€ํ„ฐ 2๊ฐœ๋งŒ ๊ฐ€์ ธ์˜ค๋Š” ๊ตฌ๋ฌธ์ด ๋œ๋‹ค.




orderby๋กœ ์ •๋ ฌํ•˜๊ธฐ

์ •๋ ฌ์„ ํ•˜๋ ค๋ฉด order ์†์„ฑ์— ์ •๋ ฌ์กฐ๊ฑด๋“ค์„ ๋‚˜์—ดํ•˜๋ฉด ๋œ๋‹ค.
์—ฌ๋Ÿฌ๊ฐœ์˜ ์กฐ๊ฑด์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ณ , ๊ฐ ์กฐ๊ฑด์€ [์ปฌ๋Ÿผ๋ช…, asc/desc]์˜ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง„๋‹ค.



ํ•˜๋‚˜๋งŒ ๊ฐ€์ ธ์˜ค๊ธฐ: findOne, findPk

์ด ํ•จ์ˆ˜๋“ค์€ findAll๊ณผ ๋‹ค๋ฅด๊ฒŒ ๋”ฑ ํ•˜๋‚˜๋งŒ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.
๋Œ€์‹ , ๊ฐ€์ ธ์˜ฌ๊ฒŒ ์—†๋‹ค๋ฉด null์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

์ผ๋‹จ findPk๋Š” ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” id๊ฐ’์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ’์„ ๊ณจ๋ผ์˜จ๋‹ค.

findOne์€ ์ข€๋” ์ผ๋ฐ˜์ ์ธ ๊ธฐ๋Šฅ์˜ ๋ฉ”์„œ๋“œ๋‹ค.
๋ณดํ†ต where ์˜ต์…˜์œผ๋กœ ๊ฐ€์ ธ์˜ฌ ๊ฐ’์˜ ์กฐ๊ฑด์„ ์ง€์ •ํ•ด์„œ ๊ฐ€์ ธ์˜จ๋‹ค.

์œ„ ์กฐ๊ฑด์€ id๊ฐ€ 2์ธ ๊ฐ’์„ ๊ฐ€์ ธ์˜จ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

๊ทผ๋ฐ ์ €๋ ‡๊ฒŒ ์“ธ์ˆ˜ ์žˆ๋Š”๊ฑด ๋”ฑ ๊ฐ’๋งŒ ๋„ฃ์–ด๋„ ๋  ๋•Œ ์ถฉ๋ถ„ํ•œ ๊ฒƒ์ด๊ณ ,
์ด๋Ÿฐ์ €๋Ÿฐ ๋‹ค์–‘ํ•œ ์กฐ๊ฑด์„ ๋ถ€์—ฌํ•˜๋ ค๋ฉด Op ์—ฐ์‚ฐ์ž ๊ฐ’๋“ค์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

์œ„ ์ฝ”๋“œ๋Š” in (...)์— ๋Œ€์‘๋˜๋Š” ์ฟผ๋ฆฌ๋กœ ๊ฐ’์„ ๊ฐ€์ ธ์˜จ๋‹ค.


์ด where ์˜ต์…˜์€ ๋ชจ๋“  find ํ•จ์ˆ˜์— ๊ณตํ†ต๋œ ๊ธฐ๋Šฅ์ด๋‹ค.



์ปฌ๋Ÿผ ๊ณจ๋ผ์˜ค๊ธฐ

๋”ฐ๋กœ ์„ค์ •์„ ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด find ๋ฉ”์„œ๋“œ๋“ค์€ ๋ชจ๋ธ์— ์ •์˜๋œ ์ปฌ๋Ÿผ๋“ค๋งŒ์„ ์ „๋ถ€ ๊ฐ€์ ธ์˜จ๋‹ค.
๊ทธ๋Ÿฌ๊ณ  ์‹ถ์ง€ ์•Š๋‹ค๋ฉด attributes ์†์„ฑ์œผ๋กœ ๊ฐ€์ ธ์˜ฌ ์ปฌ๋Ÿผ๋“ค์˜ ์ด๋ฆ„์„ ์จ์ฃผ๋ฉด ๋œ๋‹ค.

์งœ์ž”


์ฐธ์กฐ
https://sequelize.org/master/manual/model-querying-basics.html