Tout ce qui commence par : est un paramètre nommé destiné à être remplacé par mini_sql avant d’être envoyé au SGBD ; ce n’est pas un SQL valide en soi.
Par exemple, voir [2] ci-dessous :
[1] pry(main)> User.find_by(username: 'anon43915857').id
=> 5
[2] pry(main)> DB.query(
"SELECT id FROM users WHERE username = :username",
{ username: 'anon43915857' }
).first.id
=> 5
[3] pry(main)> DB.query(
"SELECT id FROM users WHERE username = ?",
'anon43915857'
).first.id
=> 5