`select * from book where id = ${id} and userId = ${userId}`;
==>
cosnt sql = `select * from book where id = ? and userId = ?`;
connection.query(sql, [id, userId]);
와 같이 사용해야 바람직합니다.
selec * from book;
쿼리 확장
이미 개발된 쿼리 문서 기능을 확장하고자 할 때가 있습니다. Raw Query는 확장은 가능하지만 이를 더욱 어렵게 합니다.
변수명의 검사에 많은 리소스가 든다.
update 와 같은 쿼리에서 변수의 존재 여부 검사에 많은 리소스가 필요합니다.
let q = '';
if (name) {
q += `,set name = ${name}`;
}
if (age) {
q += `,set age = ${age}`;
}
if (phone) {
q += `,set phone = ${phone}`;
}
`update ${q} where ...;`
특정 데이터베이스에 종속된다.
Raw Query를 사용하다가 다른 데이터베이스를 사용하게 된다면 모든 쿼리를 다시 수정 및 개발해야 합니다.
코드의 재활용이 어렵다.
이미 만들어진 코드를 사용해 트랜잭션을 묶을 때 간단하게 처리되지 않는 문제들이 있습니다.