SUMMARY OF SQL
By Revy Karina (PPA 48) / 35
SQL Wildcard Characters
A wildcard character is used to substitute one or more characters in a string.
Wildcard characters are used with the SQL LIKE operator. The LIKE operator is
used in a WHERE clause to search for a specified pattern in a column.
Wildcard Characters in MS Access
Symbo Description Example
l
* Represents zero or more characters bl* finds bl, black, blue, and blob
? Represents a single character h?t finds hot, hat, and hit
[] Represents any single character h[oa]t finds hot and hat, but not hit
within the brackets
! Represents any character not in the h[!oa]t finds hit, but not hot and hat
brackets
- Represents a range of characters c[a-b]t finds cat and cbt
# Represents any single numeric 2#5 finds 205, 215, 225, 235, 245, 255, 265, 275, 285
character
Wildcard Characters in SQL Server
Symbol Description Example
% Represents zero or more characters bl% finds bl, black, blue, and b
_ Represents a single character h_t finds hot, hat, and hit
[] Represents any single character within the h[oa]t finds hot and hat, but n
brackets
^ Represents any character not in the brackets h[^oa]t finds hit, but not hot a
- Represents a range of characters c[a-b]t finds cat and cbt
All the wildcards can also be used in combinations!
Here are some examples showing different LIKE operators with '%' and '_'
wildcards:
LIKE Operator Description
WHERE CustomerName LIKE 'a%' Finds any values that starts with "a"
WHERE CustomerName LIKE '%a' Finds any values that ends with "a"
WHERE CustomerName LIKE '%or%' Finds any values that have "or" in any position
WHERE CustomerName LIKE '_r%' Finds any values that have "r" in the second position
WHERE CustomerName LIKE 'a_%_%' Finds any values that starts with "a" and are at least 3
WHERE ContactName LIKE 'a%o' Finds any values that starts with "a" and ends with "o"
The SQL IN Operator
The IN operator allows you to specify multiple values in a WHERE clause.
The IN operator is a shorthand for multiple OR conditions.
IN Syntax
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);
or:
SELECT column_name(s)
FROM table_name
WHERE column_name IN (SELECT STATEMENT);
The SQL BETWEEN Operator
The BETWEEN operator selects values within a given range. The values can be
numbers, text, or dates.
The BETWEEN operator is inclusive: begin and end values are included.
BETWEEN Syntax
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
SQL Aliases
SQL aliases are used to give a table, or a column in a table, a temporary name.
Aliases are often used to make column names more readable.
An alias only exists for the duration of the query.
Alias Column Syntax
SELECT column_name AS alias_name
FROM table_name;
Alias Table Syntax
SELECT column_name(s)
FROM table_name AS alias_name;
SQL JOIN
A JOIN clause is used to combine rows from two or more tables, based on a
related column between them.
Let's look at a selection from the "Orders" table:
OrderID CustomerID OrderDate
10308 2 1996-09-18
10309 37 1996-09-19
10310 77 1996-09-20
Then, look at a selection from the "Customers" table:
CustomerID CustomerName ContactName
1 Alfreds Futterkiste Maria Anders
2 Ana Trujillo Emparedados y helados Ana Trujillo
3 Antonio Moreno Taquería Antonio Moreno
Notice that the "CustomerID" column in the "Orders" table refers to the
"CustomerID" in the "Customers" table. The relationship between the two tables
above is the "CustomerID" column.
Then, we can create the following SQL statement (that contains an INNER
JOIN), that selects records that have matching values in both tables:
Example
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;
and it will produce something like this:
OrderID CustomerName
10308 Ana Trujillo Emparedados y helados
10365 Antonio Moreno Taquería
10383 Around the Horn
10355 Around the Horn
10278 Berglunds snabbköp
Different Types of SQL JOINs
Here are the different types of the JOINs in SQL:
(INNER) JOIN: Returns records that have matching values in both
tables
LEFT (OUTER) JOIN: Return all records from the left table, and the
matched records from the right table
RIGHT (OUTER) JOIN: Return all records from the right table, and the
matched records from the left table
FULL (OUTER) JOIN: Return all records when there is a match in either
left or right table
SQL INNER JOIN Keyword
The INNER JOIN keyword selects records that have matching values in both
tables.
INNER JOIN Syntax
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
Demo Database
In this tutorial we will use the well-known Northwind sample database.
Below is a selection from the "Orders" table:
OrderID CustomerID EmployeeID OrderDate
10308 2 7 1996-09-18
10309 37 3 1996-09-19
10310 77 8 1996-09-20
And a selection from the "Customers" table:
CustomerID CustomerName ContactName Address City
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin
2 Ana Trujillo Emparedados y Ana Trujillo Avda. de la México D.F.
helados Constitución
2222
3 Antonio Moreno Taquería Antonio Mataderos 2312 México D.F.
Moreno
SQL INNER JOIN Example
The following SQL statement selects all orders with customer information:
Example
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
JOIN Three Tables
The following SQL statement selects all orders with customer and shipper
information:
Example
SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName
FROM ((Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID)
INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID);
SQL LEFT JOIN Keyword
The LEFT JOIN keyword returns all records from the left table (table1), and the
matched records from the right table (table2). The result is NULL from the right
side, if there is no match.
LEFT JOIN Syntax
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;
Note: In some databases LEFT JOIN is called LEFT OUTER JOIN.
Demo Database
In this tutorial we will use the well-known Northwind sample database.
Below is a selection from the "Customers" table:
CustomerID CustomerName ContactName Address City
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin
2 Ana Trujillo Ana Trujillo Avda. de la México D.F.
Emparedados y Constitución
helados 2222
3 Antonio Moreno Antonio Moreno Mataderos 2312 México D.F.
Taquería
And a selection from the "Orders" table:
OrderID CustomerID EmployeeID OrderDate
10308 2 7 1996-09-18
10309 37 3 1996-09-19
10310 77 8 1996-09-20
SQL LEFT JOIN Example
The following SQL statement will select all customers, and any orders they
might have:
Example
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.Customer
SQL RIGHT JOIN Keyword
The RIGHT JOIN keyword returns all records from the right table (table2), and
the matched records from the left table (table1). The result is NULL from the
left side, when there is no match.
RIGHT JOIN Syntax
SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;
Note: In some databases RIGHT JOIN is called RIGHT OUTER JOIN.
Demo Database
In this tutorial we will use the well-known Northwind sample database.
Below is a selection from the "Orders" table:
OrderID CustomerID EmployeeID OrderDate
10308 2 7 1996-09-18
10309 37 3 1996-09-19
10310 77 8 1996-09-20
And a selection from the "Employees" table:
EmployeeID LastName FirstName BirthDate
1 Davolio Nancy 12/8/1968
2 Fuller Andrew 2/19/1952
3 Leverling Janet 8/30/1963
SQL RIGHT JOIN Example
The following SQL statement will return all employees, and any orders they
might have placed:
Example
SELECT Orders.OrderID, Employees.LastName, Employees.FirstName
FROM Orders
RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
ORDER BY Orders.OrderID;
Note: The RIGHT JOIN keyword returns all records from the right table
(Employees), even if there are no matches in the left table (Orders).
SQL FULL OUTER JOIN Keyword
The FULL OUTER JOIN keyword return all records when there is a match in
either left (table1) or right (table2) table records.
Note: FULL OUTER JOIN can potentially return very large result-sets!
Tip: FULL OUTER JOIN and FULL JOIN are the same.
FULL OUTER JOIN Syntax
SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name
WHERE condition;
Demo Database
In this tutorial we will use the well-known Northwind sample database.
Below is a selection from the "Customers" table:
CustomerID CustomerName ContactName Address City
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin
2 Ana Trujillo Emparedados y Ana Trujillo Avda. de la México D.F.
helados Constitución
2222
3 Antonio Moreno Taquería Antonio Mataderos 2312 México D.F.
Moreno
And a selection from the "Orders" table:
OrderID CustomerID EmployeeID OrderDate
10308 2 7 1996-09-18
10309 37 3 1996-09-19
10310 77 8 1996-09-20
SQL Self JOIN
A self JOIN is a regular join, but the table is joined with itself.
Self JOIN Syntax
SELECT column_name(s)
FROM table1 T1, table1 T2
WHERE condition;
Demo Database
In this tutorial we will use the well-known Northwind sample database.
Below is a selection from the "Customers" table:
CustomerID CustomerName ContactName Address City
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin
2 Ana Trujillo Emparedados y Ana Trujillo Avda. de la México D.F.
helados Constitución 2222
3 Antonio Moreno Taquería Antonio Mataderos 2312 México D.F.
Moreno
SQL Self JOIN Example
The following SQL statement matches customers that are from the same city:
Example
SELECT A.CustomerName AS CustomerName1, B.CustomerName AS
CustomerName2, A.City
FROM Customers A, Customers B
WHERE A.CustomerID <> B.CustomerID
AND A.City = B.City
ORDER BY A.City;
The SQL UNION Operator
The UNION operator is used to combine the result-set of two or more SELECT
statements.
Each SELECT statement within UNION must have the same number of
columns
The columns must also have similar data types
The columns in each SELECT statement must also be in the same order
UNION Syntax
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
UNION ALL Syntax
The UNION operator selects only distinct values by default. To allow duplicate
values, use UNION ALL:
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
Note: The column names in the result-set are usually equal to the column
names in the first SELECT statement in the UNION.
Demo Database
In this tutorial we will use the well-known Northwind sample database.
Below is a selection from the "Customers" table:
CustomerID CustomerName ContactName Address City
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin
2 Ana Trujillo Emparedados Ana Trujillo Avda. de la Constitución México D.F.
y helados 2222
3 Antonio Moreno Antonio Mataderos 2312 México D.F.
Taquería Moreno
And a selection from the "Suppliers" table:
SupplierID SupplierName ContactName Address City
1 Exotic Liquid Charlotte Cooper 49 Gilbert St. London
2 New Orleans Cajun Delights Shelley Burke P.O. Box 78934 New Orleans
3 Grandma Kelly's Homestead Regina Murphy 707 Oxford Rd. Ann Arbor