-- min_rental_duration = 3, defined in the Variables section
SELECT film_id, title, rental_duration
FROM film
WHERE rental_duration >= {{ var('min_rental_duration') }}
SELECT film_id, title, rental_duration
FROM film
WHERE rental_duration >= 3
if 语句
用 if 语句来检查条件:
{% set include_r_rated = true %}
SELECT film_id, title, rating
FROM film
WHERE 1=1
{% if include_r_rated %}
AND rating = 'R'
{% else %}
AND rating != 'R'
{% endif %}
SELECT film_id, title, rating
FROM film
WHERE 1=1
AND rating = 'R'
for循环
用 for 循环来遍历一个列表或字典:
{% set categories = ['Action', 'Comedy', 'Drama'] %}
SELECT f.film_id, f.title, c.name AS category
FROM film f
JOIN film_category fc ON f.film_id = fc.film_id
JOIN category c ON fc.category_id = c.category_id
WHERE c.name IN (
{% for category in categories %}
'{{ category }}'{% if not loop.last %},{% endif %}
{% endfor %}
)
SELECT f.film_id, f.title, c.name AS category
FROM film f
JOIN film_category fc ON f.film_id = fc.film_id
JOIN category c ON fc.category_id = c.category_id
WHERE c.name IN (
'Action',
'Comedy',
'Drama'
)