0
0
PostgreSQLquery~20 mins

SIMILAR TO for regex-lite matching in PostgreSQL - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
SIMILAR TO Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
query_result
intermediate
2:00remaining
Basic SIMILAR TO pattern matching
Given a table products with a column name, which query returns all products whose names start with 'A' followed by any two characters and then 'e'?
PostgreSQL
SELECT name FROM products WHERE name SIMILAR TO 'A__e%';
ASELECT name FROM products WHERE name SIMILAR TO 'A__e%';
BSELECT name FROM products WHERE name SIMILAR TO 'A__e';
CSELECT name FROM products WHERE name SIMILAR TO 'A%e';
DSELECT name FROM products WHERE name SIMILAR TO 'A_e%';
Attempts:
2 left
💡 Hint
Remember that underscore (_) matches exactly one character in SIMILAR TO patterns.
query_result
intermediate
2:00remaining
Using character classes in SIMILAR TO
Which query returns rows from users where the username starts with a digit between 1 and 5, followed by any characters?
PostgreSQL
SELECT username FROM users WHERE username SIMILAR TO '[1-5]%';
ASELECT username FROM users WHERE username SIMILAR TO '[1-5]%_';
BSELECT username FROM users WHERE username SIMILAR TO '[1-5_]';
CSELECT username FROM users WHERE username SIMILAR TO '[1-5]%';
DSELECT username FROM users WHERE username SIMILAR TO '[1-5]_%';
Attempts:
2 left
💡 Hint
The percent sign (%) matches zero or more characters after the initial pattern.
📝 Syntax
advanced
2:00remaining
Identify the syntax error in SIMILAR TO pattern
Which option contains a syntax error in the SIMILAR TO pattern?
PostgreSQL
SELECT * FROM orders WHERE order_code SIMILAR TO 'AB[0-9]{3}';
ASELECT * FROM orders WHERE order_code SIMILAR TO 'AB[0-9]{,3}';
BSELECT * FROM orders WHERE order_code SIMILAR TO 'AB[0-9][0-9][0-9]';
CSELECT * FROM orders WHERE order_code SIMILAR TO 'AB[0-9]{3}';
D;'}3{]9-0[BA' OT RALIMIS edoc_redro EREHW sredro MORF * TCELES
Attempts:
2 left
💡 Hint
Check the syntax for repetition counts in SIMILAR TO patterns.
optimization
advanced
2:00remaining
Optimizing SIMILAR TO for performance
Which query is likely to perform better when filtering email addresses starting with 'user' followed by any characters?
ASELECT email FROM contacts WHERE email SIMILAR TO 'user%';
BSELECT email FROM contacts WHERE email LIKE 'user%';
CSELECT email FROM contacts WHERE email SIMILAR TO 'user_+';
DSELECT email FROM contacts WHERE email SIMILAR TO 'user.*';
Attempts:
2 left
💡 Hint
Consider which operator uses simpler pattern matching and can use indexes.
🧠 Conceptual
expert
2:00remaining
Understanding SIMILAR TO pattern equivalence
Which SIMILAR TO pattern matches exactly the same set of strings as the regular expression ^cat|dog$?
A'cat|dog'
B'god|tac'
Ccat|dog'
D'(cat|dog)'
Attempts:
2 left
💡 Hint
SIMILAR TO requires grouping parentheses to apply alternation correctly.