# Dialect Examples
These examples show queries using each database library with and
without sql-tagged-templates.
They all assume a `const author = 'Kurt Vonnegut'`
## Table Of Contents
- [mariadb](#mariadb)
- [mysql2](#mysql2)
- [pg](#pg)
- [sequelize](#sequelize)
- [sequelize - bound](#sequelize---bound)
### mariadb
```js
const rows = await mariadbPool.query(
'select title from books where author = ?',
[author]
)
// is equivalent to
import stt from 'sql-tagged-templates/mariadb'
const query = stt`select title from books where author = ${author}`
// query.sql is 'select title from books author = ?'
// query.values is ['Kurt Vonnegut']
const rows = await mariadbPool.query(query)
```
### mysql2
```js
const [rows] = await mysql2Pool.query(
'select title from books where author = ?',
[author]
)
// is equivalent to
import stt from 'sql-tagged-templates/mysql2'
const query = stt`select title from books where author = ${author}`
// query.sql is 'select title from books author = ?'
// query.values is ['Kurt Vonnegut']
const [rows] = await mysql2Pool.query(query)
```
### pg
```js
const { rows } = await pgPool.query(
'select title from books where author = $1',
[author]
)
// is equivalent to
import stt from 'sql-tagged-templates/pg'
const query = stt`select title from books where author = ${author}`
// query.text is 'select title from books author = $1'
// query.values is ['Kurt Vonnegut']
const { rows } = await pgPool.query(query)
```
### sequelize
*Note*: by default, sql-tagged-templates uses [replacements][sequelize-replacements].
Use [bound][sequelize-bind] if you want to use parameterized queries instead.
```js
const [rows] = await sequelize.query('select title from books where author = ?', {
replacements: [author],
})
// is equivalent to
import stt from 'sql-tagged-templates/sequelize'
const query = stt`select title from books where author = ${author}`
// query.query is 'select title from books author = ?'
// query.values is ['Kurt Vonnegut']
// note: values are interpreted as "replacements" in sequelize
const [rows] = await sequelize.query(query)
```
### sequelize - bound
```js
const [rows] = await sequelize.query('select title from books where author = ?', {
bind: [author],
})
// is equivalent to
import { bound as stt } from 'sql-tagged-templates/sequelize'
const query = stt`select title from books where author = ${author}`
// query.query is 'select title from books author = ?'
// query.bind is ['Kurt Vonnegut']
const [rows] = await sequelize.query(query)
```
[sequelize-bind]: https://sequelize.org/docs/v6/core-concepts/raw-queries/#bind-parameter
[sequelize-replacements]: https://sequelize.org/docs/v6/core-concepts/raw-queries/#replacements