

The IN keyword can be seen as a way to clean up multiple OR conditions. Using IN to match against multiple possibilities You may not actually use it, but it is there, because of course it's there. But I include NOT LIKE because its existence and functionality is a natural consequence with how NOT and LIKE and the rest of SQLite syntax works. In fact, I can't think of a time where I've actually used NOT LIKE except just now, which may explain the lameness of my example. Note: There must be better ways to phrase the above query. To find all names that begin with the letter J but do not have the letter e in them: SELECT * from baby_names WHERE name LIKE 'J%n' AND name NOT LIKE '%e%' The NOT keyword can be used to negate a LIKE operator, similar to what != is to =. Try running the previous query using % instead of _ to see the difference. The underscore matches at least one character, so the results do not include 'Jo'.The underscore matches only one character, so the results in the above query will only return 3-letter names, not a name such as 'John'.To match all 3-letter names that begin with Jo and end with any character: SELECT * FROM baby_names WHERE name LIKE 'Jo_' The underscore character – _ – is used to match one of any kind of character.

To get all names that end in zara, including Zara (don't mind the capitalization below remember that LIKE will do a case-insensitive match): SELECT * FROM baby_names WHERE name LIKE '%Zara' Īnd to get all names that have Zara in them, somewhere – either at the beginning, the end, or in the middle – including just Zara: SELECT * FROM baby_names WHERE name LIKE '%Zara%' Īnd one more relatively common variation: Names that begin with za and end in ra, including Zara: SELECT * FROM baby_names WHERE name LIKE 'za%ra' In other words, to get all names that begin with Zara, including just Zara: SELECT * FROM baby_names WHERE name LIKE 'Zara%' The percentage sign – % – is a stand-in for "zero-or-more characters". The true power of LIKE comes with the use of wildcards. case-insensitive): SELECT * FROM baby_names WHERE state LIKE 'ny' Using LIKE with wildcards Its functionality is similar too, though by default, LIKE will match English alphabet characters without regard to capitalization (i.e. In terms of syntax structure, it fits into a boolean expression just as an equals sign normally would: SELECT * FROM baby_names WHERE name LIKE 'Megan' The LIKE operator is used to match text string patterns. Using NOT IN to exclude multiple possibilities.Using IN to match against multiple possibilities.
