0% found this document useful (0 votes)
14 views

Filtering AND Comparison Operators in SQL

The document discusses filtering and querying data in SQL using various comparison and logical operators in the WHERE clause including >, <, =, >=, <=, <>, BETWEEN, LIKE, NOT LIKE, OR, AND, and IN.

Uploaded by

Ajay Nain
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

Filtering AND Comparison Operators in SQL

The document discusses filtering and querying data in SQL using various comparison and logical operators in the WHERE clause including >, <, =, >=, <=, <>, BETWEEN, LIKE, NOT LIKE, OR, AND, and IN.

Uploaded by

Ajay Nain
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 42

Filtering numbers

I N T E R M E D I AT E S Q L

Jasmin Ludolf
Data Science Content Developer,
DataCamp
WHERE
WHERE filtering clause

INTERMEDIATE SQL
WHERE
WHERE color = 'green'

INTERMEDIATE SQL
WHERE with comparison operators
SELECT title
FROM films
WHERE release_year > 1960;

|title |
|---------------------|
|Judgment at Nuremberg|
|Pocketful of Miracles|
|The Hustler |
|The Misfits |
...

INTERMEDIATE SQL
Comparison operators
SELECT title
FROM films
WHERE release_year < 1960;

|title |
|-----------------------------------------------|
|Intolerance:Love's Struggle Throughout the Ages|
|Over the Hill to the Poorhouse |
|The Big Parade |
|Metropolis |
...

INTERMEDIATE SQL
Comparison operators
SELECT title
FROM films
WHERE release_year <= 1960;

|title |
|-----------------------------------------------|
|Intolerance:Love's Struggle Throughout the Ages|
|Over the Hill to the Poorhouse |
|The Big Parade |
|Metropolis |
...

INTERMEDIATE SQL
Comparison operators
SELECT title
FROM films
WHERE release_year = 1960;

|title |
|-------------|
|Elmer Gantry |
|Psycho |
|The Apartment|

INTERMEDIATE SQL
Comparison operators
SELECT title
FROM films
WHERE release_year <> 1960;

|title |
|-----------------------------------------------|
|Intolerance:Love's Struggle Throughout the Ages|
|Over the Hill to the Poorhouse |
|The Big Parade |
|Metropolis |
...

INTERMEDIATE SQL
Comparison operators
> Greater than or after

< Less than or before

= Equal to

>= Greater than or equal to

<= Less than or equal to

<> Not equal to

INTERMEDIATE SQL
WHERE with strings
Use single-quotes around strings we want to filter

SELECT title
FROM films
WHERE country = 'Japan';

|title |
|-----------------|
|Seven Samurai |
|Tora! Tora! Tora!|
|Akira |
|Madadayo |
|Street Fighter |

INTERMEDIATE SQL
Order of execution
-- Written code: -- Order of execution:
SELECT item SELECT item
FROM coats FROM coats
WHERE color = 'green' WHERE color = 'green'
LIMIT 5; LIMIT 5;

INTERMEDIATE SQL
Let's practice!
I N T E R M E D I AT E S Q L
Multiple criteria
I N T E R M E D I AT E S Q L

Jasmin Ludolf
Data Science Content Developer,
DataCamp
Multiple criteria

INTERMEDIATE SQL
Multiple criteria

INTERMEDIATE SQL
Multiple criteria

INTERMEDIATE SQL
Multiple criteria
OR , AND , BETWEEN

SELECT *
FROM coats
WHERE color = 'yellow' OR length = 'short';

SELECT *
FROM coats
WHERE color = 'yellow' AND length = 'short';

SELECT *
FROM coats
WHERE buttons BETWEEN 1 AND 5;

INTERMEDIATE SQL
OR operator
Use OR when you need to satisfy at least one condition

INTERMEDIATE SQL
OR operator
Correct: Invalid:

SELECT title SELECT title


FROM films FROM films
WHERE release_year = 1994 WHERE release_year = 1994 OR 2000;
OR release_year = 2000;
argument of OR must be type boolean,
|title | not type integer
|-------------------------| LINE 3: WHERE release_year = 1994
|3 Ninjas Kick Back | OR 2000;
|A Low Down Dirty Shame | ^
|Ace Ventura:Pet Detective|
...

INTERMEDIATE SQL
AND operator
Use AND if we need to satisfy all criteria
Correct:
Invalid:
SELECT title
SELECT title
FROM films
FROM films
WHERE release_year > 1994
WHERE release_year > 1994 AND < 2000;
AND release_year < 2000;

syntax error at or near "[removed]


|title |
1994 AND < 2000;
|-----------------------------|
^
|Ace Ventura:When Nature Calls|
|Apollo 13 |
|Assassins |
|Babe |
...

INTERMEDIATE SQL
AND, OR
Filter films released in 1994 or 1995, and certified PG or R
Enclose individual clauses in parentheses

SELECT title
FROM films
WHERE (release_year = 1994 OR release_year = 1995)
AND (certification = 'PG' OR certification = 'R');

|title |
|----------------------|
|3 Ninjas Kick Back |
|A Low Down Dirty Shame|
|Baby's Day Out |
|Beverly Hills Cop III |
...

INTERMEDIATE SQL
BETWEEN, AND
SELECT title SELECT title
FROM films FROM films
WHERE release_year >= 1994 WHERE release_year
AND release_year <= 2000; BETWEEN 1994 AND 2000;

|title | |title |
|-------------------------| |-------------------------|
|3 Ninjas Kick Back | |3 Ninjas Kick Back |
|A Low Down Dirty Shame | |A Low Down Dirty Shame |
|Ace Ventura:Pet Detective| |Ace Ventura:Pet Detective|
|Baby's Day Out | |Baby's Day Out |
... ...

INTERMEDIATE SQL
BETWEEN, AND, OR
SELECT title
FROM films
WHERE release_year
BETWEEN 1994 AND 2000 AND country='UK';

|title |
|---------------------------|
|Four Weddings and a Funeral|
|The Hudsucker Proxy |
|Dead Man Walking |
|GoldenEye |
...

INTERMEDIATE SQL
Let's practice!
I N T E R M E D I AT E S Q L
Filtering text
I N T E R M E D I AT E S Q L

Jasmin Ludolf
Data Science Content Developer,
DataCamp
Filtering text
WHERE can also filter text

SELECT title
FROM films
WHERE country = 'Japan';

|title |
|-----------------|
|Seven Samurai |
|Tora! Tora! Tora!|
|Akira |
|Madadayo |
|Street Fighter |

INTERMEDIATE SQL
Filtering text
Filter a pattern rather than specific text
LIKE

NOT LIKE

IN

INTERMEDIATE SQL
LIKE
Used to search for a pattern in a field
% match zero, one, or many characters
_ match a single character

SELECT name
SELECT name
FROM people
FROM people
WHERE name LIKE 'Ade%';
WHERE name LIKE 'Ev_';

|name |
|name |
|-------------|
|-------------|
|Adel Karam |
|Eve |
|Adelaide Kane|
|Aden Young | Ev_ Mendes

INTERMEDIATE SQL
NOT LIKE
SELECT name SELECT name
FROM people; FROM people
WHERE name NOT LIKE 'A.%';
|name |
|------------------| |name |
|50 Cent | |-------------|
|A. Michael Baldwin| |50 Cent |
|A. Raven Cruz | |Aaliyah |
|A.J. Buckley | |Aaron Ashmore|
|A.J. DeLucia | |Aaron Hann |
... ...

INTERMEDIATE SQL
Wildcard position
SELECT name SELECT name
FROM people FROM people
WHERE name LIKE '%r'; WHERE name LIKE '__t%';

|name | |name |
|---------------| |-----------------------|
|A.J. Langer | |Aitana Sánchez-Gijón |
|Aaron Schneider| |Anthony 'Critic' Campos|
|Aaron Seltzer | |Anthony Bell |
|Abigail Spencer| |Anthony Burrell |
... ...

INTERMEDIATE SQL
WHERE, OR
SELECT title
FROM films
WHERE release_year = 1920
OR release_year = 1930
OR release_year = 1940;

|title |
|------------------------------|
|Over the Hill to the Poorhouse|
|Hell's Angels |
|Boom Town |
...

INTERMEDIATE SQL
WHERE, IN
SELECT title
FROM films
WHERE release_year IN (1920, 1930, 1940);

|title |
|------------------------------|
|Over the Hill to the Poorhouse|
|Hell's Angels |
|Boom Town |
...

INTERMEDIATE SQL
WHERE, IN
SELECT title
FROM films
WHERE country IN ('Germany', 'France');

|title |
|-------------|
|Metropolis |
|Pandora's Box|
|The Train |
...

INTERMEDIATE SQL
Let's practice!
I N T E R M E D I AT E S Q L
NULL values
I N T E R M E D I AT E S Q L

Jasmin Ludolf
Data Science Content Developer,
DataCamp
Missing values
COUNT(field_name) includes only non-missing values

COUNT(*) includes missing values

null

Missing values:
Human error

Information not available

Unknown

INTERMEDIATE SQL
null
SELECT COUNT(*) AS count_records SELECT *
FROM people; FROM people;

|count_records| |id|name |birthdate |deathdate|


|-------------| |--|------------------|----------|---------|
|8397 | |1 |50 Cent |1975-07-06|null |
|2 |A. Michael Baldwin|1963-04-04|null |
|3 |A. Raven Cruz |null |null |
...

INTERMEDIATE SQL
IS NULL
SELECT name
FROM people
WHERE birthdate IS NULL;

|name |
|-------------|
|A. Raven Cruz|
|A.J. DeLucia |
|Aaron Hann |
...

INTERMEDIATE SQL
IS NOT NULL
SELECT COUNT(*) AS no_birthdates SELECT COUNT(name) AS count_birthdates
FROM people FROM people
WHERE birthdate IS NULL; WHERE birthdate IS NOT NULL;

|no_birthdates| |count_birthdates|
|-------------| |----------------|
|2245 | |6152 |

INTERMEDIATE SQL
COUNT() vs IS NOT NULL
SELECT SELECT
COUNT(certification) COUNT(certification)
AS count_certification AS count_certification
FROM films; FROM films
WHERE certification IS NOT NULL;

|count_certification|
|-------------------| |count_certification|
|4666 | |-------------------|
|4666 |

INTERMEDIATE SQL
NULL put simply
NULL values are missing values

Very common

Use IS NULL or IS NOT NULL to:


Identify missing values

Select missing values

Exclude missing values

INTERMEDIATE SQL
Let's practice!
I N T E R M E D I AT E S Q L

You might also like