Lesson 2
Utilizing Conditional Operators - LIKE, IN, and BETWEEN
Introduction to SQL Conditional Operators

In our previous lesson, we tackled the foundational knowledge of the logical operators AND/OR in SQL. Now, we're going to extend this knowledge by introducing SQL conditional operators, which will further enhance the precision and detail of your queries. These operators include LIKE, BETWEEN, and IN.

In essence, conditional operators in SQL allow us to filter the output of our SQL queries based on certain criteria or conditions. They're used in conjunction with the SQL WHERE clause to specify the conditions that data must meet to be included in the query results. Let's delve into each of these conditional operators.

Getting Started with the LIKE Operator

The LIKE operator in SQL is used in a WHERE clause to search for a specified pattern within a column. It works with wildcard characters, such as the percentage % sign and the underscore _, to refine searches.

The percentage sign % matches zero, one, or multiple characters in a string pattern within the LIKE operator. See the usage examples below:

  • A%: Matches any string starting with 'A' (e.g., 'Apple', 'Ant').
  • %A: Matches any string ending with 'A' (e.g., 'Pizza', 'Alpaca').
  • %A%: Matches any string containing 'A' (e.g., 'Table', 'Laptop').

The underscore _ matches exactly one character. See the usage examples below:

  • A_: Matches any two-character string starting with 'A' (e.g., 'An', 'At').
  • _A: Matches any two-character string ending with 'A' (e.g., 'Ba', 'Ca').

Here's an example showing how the LIKE operator is used:

SQL
1-- Use LIKE operator to find all orders in January 2SELECT order_id, order_date 3FROM Orders 4WHERE order_date LIKE '2021-01%'; 5 6-- Sneak peek of the output: 7-- | order_id | order_date | 8-- |----------|------------| 9-- | 1 | 2021-01-15 | 10-- | 2 | 2021-01-20 |

In the example above, we search for all orders in the Orders table whose order_date starts with '2021-01', using the LIKE operator and the % wildcard. This will return all orders placed in January 2021.

The Power of the BETWEEN Operator

The BETWEEN operator in SQL is used to select values within a specific range. These values can be numbers, text, or dates. It is used with the WHERE clause.

The syntax for using BETWEEN is column_name BETWEEN value1 AND value2, where value1 and value2 define the range within which to search. It is important to note that BETWEEN is inclusive of both value1 and value2.

Here's an example of a SQL query that uses the BETWEEN operator:

SQL
1-- Find OrderItems with extended support 2SELECT product_name, category_id 3FROM Products 4WHERE category_id BETWEEN 2 AND 4; 5 6-- Sneak peek of the output: 7-- | product_name | category_id | 8-- |--------------------|-------------| 9-- | Math Worksheets | 2 | 10-- | Science Guides | 3 | 11-- | Language Podcasts | 4 |

In this query, the BETWEEN operator is used to filter products from the Products table whose category_id falls between 2 and 4 (inclusive).

Efficiency of the IN Operator

The IN operator in SQL allows us to filter data based on multiple values in a WHERE clause. It serves as a shorthand for multiple OR conditions and it's often used when there's a need to compare a column with more than two values.

Consider this example of a SQL query using the IN operator:

SQL
1-- Find products from specific categories with extended support in orders 2SELECT 3 p.product_id AS ProductID, 4 p.product_name AS ProductName, 5 o.order_id AS OrderID 6FROM Products p 7JOIN OrderItems o ON p.product_id = o.product_id 8WHERE p.category_id IN (1, 2) AND o.extended_support = 1; 9 10-- Sneak peek of the output: 11-- | ProductID | ProductName | OrderID | 12-- |-----------|-------------------------|---------| 13-- | 1 | Vocabulary Flashcards | 4 | 14-- | 2 | Math Problems Flashcards| 4 |

In this example, the IN operator permits us to select products whose category_id is either 1 or 2, and the extended_support for those order items is true (1). The table aliases p and o are used to make the query concise — p represents the Products table and o represents the OrderItems table. This helps in writing shorter and more readable SQL queries.

Lesson Review and Practice Heads Up

Great work so far, and congratulations! By reaching this point, you've developed a solid understanding of SQL conditional operators. Remember, these are powerful tools — when used correctly, they can make your data querying more detailed and precise.

Next up, you're going to get some hands-on practice. Applying the new skills you've acquired in different scenarios will reinforce your understanding and enhance your SQL proficiency. Look forward to applying these conditional operators in multiple contexts. You're doing great so far, and I'm confident that you'll effectively tackle the next section. Let's move on to the practice component and keep the SQL learning momentum going strong!

Enjoy this lesson? Now it's time to practice with Cosmo!
Practice is how you turn knowledge into actual skills.