Monday, 1 October 2012

SQL LECTURE 3

Lecture 3


The SQL SELECT DISTINCT Statement

In a table, some of the columns may contain duplicate values. This is not a problem, however, sometimes you will want to list only the different (distinct) values in a table.

The DISTINCT keyword can be used to return only distinct (different) values.

SQL SELECT DISTINCT Syntax

SELECT DISTINCT column_name(s)

FROM table_name

________________________________________

SELECT DISTINCT Example

The "Persons" table:

P_Id    LastName    FirstName    Address    City
Hansen    Ola    Timoteivn 10 Sandnes
2    Svendson    Tove    Borgvn 23 Sandnes
3    Pettersen    Kari    Storgt 20  Stavanger


Now we want to select only the distinct values from the column named "City" from the table above.

We use the following SELECT statement:

SELECT DISTINCT City FROM Persons

The result-set will look like this:
City
Sandnes
Stavanger
Stavanger


The WHERE clause is used to filter records.

________________________________________

The WHERE Clause

The WHERE clause is used to extract only those records that fulfill a specified criterion.

SQL WHERE Syntax

SELECT column_name(s)

FROM table_name

WHERE column_name operator value

________________________________________

WHERE Clause Example

The "Persons" table:
P_Id    LastName    FirstName    Address    City
Hansen    Ola    Timoteivn 10 Sandnes
2    Svendson    Tove    Borgvn 23 Sandnes
3    Pettersen    Kari    Storgt 20  Stavanger

Now we want to select only the persons living in the city "Sandnes" from the table above.

We use the following SELECT statement:

SELECT * FROM Persons

WHERE City='Sandnes'

The result-set will look like this:

P_Id    LastName    FirstName    Address    City
Hansen    Ola    Timoteivn 10 Sandnes
2    Svendson    Tove    Borgvn 23 Sandnes

________________________________________

Quotes Around Text Fields

SQL uses single quotes around text values (most database systems will also accept double quotes).

However, numeric values should not be enclosed in quotes.

For text values:

This is correct:

SELECT * FROM Persons WHERE FirstName='Tove'

This is wrong:

SELECT * FROM Persons WHERE FirstName=Tove

For numeric values:

This is correct:

SELECT * FROM Persons WHERE Year=1965

This is wrong:

SELECT * FROM Persons WHERE Year='1965'

________________________________________

Operators Allowed in the WHERE Clause

With the WHERE clause, the following operators can be used:
Operator Description
= Equal
<> Not equal
> Greater than
< Less than
>= Greater than or equal
<= Less than or equal
BETWEEN Between an inclusive range
LIKE Search for a pattern
IN To specify multiple possible values for a column

Note: In some versions of SQL the <> operator may be written as !=

The AND & OR operators are used to filter records based on more than one condition.

________________________________________

The AND & OR Operators

The AND operator displays a record if both the first condition and the second condition are true.

The OR operator displays a record if either the first condition or the second condition is true.

________________________________________

AND Operator Example

The "Persons" table:

P_Id    LastName    FirstName    Address    City
Hansen    Ola    Timoteivn 10 Sandnes
2    Svendson    Tove    Borgvn 23 Sandnes
3    Pettersen    Kari    Storgt 20  Stavanger

Now we want to select only the persons with the first name equal to "Tove" AND the last name equal to "Svendson":

We use the following SELECT statement:

SELECT * FROM Persons

WHERE FirstName='Tove'

AND LastName='Svendson'

The result-set will look like this:
P_Id    LastName    FirstName    Address    City
2    Svendson    Tove    Borgvn 23 Sandnes

________________________________________

OR Operator Example

Now we want to select only the persons with the first name equal to "Tove" OR the first name equal to "Ola":

We use the following SELECT statement:

SELECT * FROM Persons

WHERE FirstName='Tove'

OR FirstName='Ola'

The result-set will look like this:
P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes

________________________________________

Combining AND & OR

You can also combine AND and OR (use parenthesis to form complex expressions).

Now we want to select only the persons with the last name equal to "Svendson" AND the first name equal to "Tove" OR to "Ola":

We use the following SELECT statement:

SELECT * FROM Persons WHERE

LastName='Svendson'

AND (FirstName='Tove' OR FirstName='Ola')

The result-set will look like this:
P_Id    LastName    FirstName    Address    City
2    Svendson    Tove    Borgvn 23 Sandnes

The ORDER BY keyword is used to sort the result-set.

________________________________________

No comments:

Post a Comment