Saturday, November 19, 2011

SQL - AND & OR

The AND clause is used when you want to specify more than one condition in your WHERE clause, and at the same time you want all conditions to be true.
For example if you want to select all customers with FirstName "John" and LastName "Smith", you will use the following SQL expression:

SELECT * FROM Customers
WHERE FirstName = 'John' AND LastName = 'Smith'

The result of the SQL query above is:

FirstName
LastName
Email
DOB
Phone
John
Smith
John.Smith@yahoo.com
2/4/1968
626 222-2222

The following row in our Customer table, satisfies the second of the conditions (LastName = 'Smith'), but not the first one (FirstName = 'John'), and that's why it's not returned by our SQL query:

FirstName

LastName

Email

DOB

Phone

James
Smith
jim@supergig.co.uk
20/10/1980
416 323-8888

The SQL OR statement is used in similar fashion and the major difference compared to the AND is that OR clause will return all rows satisfying any of the conditions listed in the WHERE clause.

If we want to select all customers having FirstName 'James' or FirstName 'Paula' we need to use the following SQL statement:

SELECT * FROM Customers
WHERE FirstName = 'James' OR FirstName = 'Paula'

The result of this query will be the following:

FirstName
LastName
Email
DOB
Phone
Paula
Brown
pb@herowndomain.org
5/24/1978
416 323-3232
James
Smith
jim@supergig.co.uk
20/10/1980
416 323-8888

You can combine AND and OR clauses anyway you want and you can use parentheses to define your logical expressions.
Here is an example of such a SQL query, selecting all customers with LastName 'Brown' and FirstName either 'James' or 'Paula':

SELECT * FROM Customers
WHERE (FirstName = 'James' OR FirstName = 'Paula') AND LastName = 'Brown'

The result of the SQL expression above will be:

FirstName
LastName
Email
DOB
Phone
Paula
Brown
pb@herowndomain.org
5/24/1978
416 323-3232

No comments:

Post a Comment