SQL - In
SQL IN is an operator used to pull data matching a list of values. A scenario where this proves useful would be if we wanted to retrieve customer data for two or more customers. We can use the IN operator to specify a list of customer names, and SQL will retrieve rows reflecting every customer in the list.Inside the query statement itself, the word "IN" replaces the (=) operator after the WHERE declarative and slightly alters the meaning as well. Instead of listing a single value, you may list multiple values and SQL will retrieve the results for each value listed.
SQL In:
USE mydatabase;
SELECT *
FROM orders
WHERE customer IN ('Gerald Garner','A+Maintenance');
SQL Results:
| id | customer | day_of_order | product | quantity | 
| 3 | A+Maintenance | 2008-08-16 00:00:00.000 | Hanging Files | 14 | 
| 4 | Gerald Garner | 2008-08-15 00:00:00.000 | 19" LCD Screen | 5 | 
The real power of this condition comes to life when used with a subquery that retrieves a list of values. Running any SELECT query returns results in list format. And as we mentioned just a few short moments ago, this list can then be passed as a list for the IN clause using a subquery.
Let's adjust the previous example to only retrieve only the products column, as opposed to retrieving all columns (*).
SQL In:
USE mydatabase;
SELECT product
FROM orders
WHERE customer IN ('Gerald Garner','A+Maintenance');
Results:
| product | 
| Hanging Files | 
| 19" LCD Screen | 
SQL In:
USE mydatabase;
SELECT *
FROM inventory
WHERE product in 
     (SELECT product
     FROM orders
     WHERE customer IN ('Gerald Garner','A+Maintenance'));
SQL Results:
| id | product | inventory | price | 
| 1 | 19" LCD Screen | 25 | 179.99 | 
| 5 | Hanging Files | 33 | 14.99 | 
SQL - Not In
SQL NOT IN, as you may have guessed, allows the developer to eliminate a list of specific values from the result set.SQL Not In:
USE mydatabase;
SELECT *
FROM inventory
WHERE product NOT IN 
     (SELECT product
     FROM orders
     WHERE customer IN ('Gerald Garner','A+Maintenance'));
SQL Results:
| id | product | quantity | price | 
| 2 | HP Printer | 9 | 89.99 | 
| 3 | Pen | 78 | 0.99 | 
| 4 | Stapler | 3 | 7.99 | 
| 6 | Laptop | 16 | 499.99 | 






 
 
 
 
 
 
 
 
 
 



 

 
 
 
 
 
0 comments:
Post a Comment