Professional Documents
Culture Documents
SQL SQL: COM - Schools 3 W - WWW
SQL SQL: COM - Schools 3 W - WWW
COM
SQL
: SQL
Structured Query Language : SQL
) (
-
-
-
-
-
-
-
ANSI
SQL :
)ANSI (American National Standards Institute
Database System
SQL :
Ms-Access, Ms-SQL Server, DB2, Oracle, etc.
SQL :
Select
Syntax :
SELECT column_name(s)
FROM table_name
SQL :
SELECT = select
:
The database table "Persons":
LastName
Hansen
Svendson
Pettersen
FirstName
Ola
Tove
Kari
Address
Timoteivn 10
Borgvn 23
Storgt 20
City
Sandnes
Sandnes
Stavanger
(FirstName , LastName)
:
SELECT LastName,FirstName FROM Persons
:
Result:
LastName
Hansen
Svendson
Pettersen
FirstName
Ola
Tove
Kari
:
SELECT * FROM Persons
:
Result:
LastName
Hansen
Svendson
Pettersen
FirstName
Ola
Tove
Kari
Address
Timoteivn 10
Borgvn 23
Storgt 20
City
Sandnes
Sandnes
Stavanger
: ) ; (
SQL
.
) ; ( . Ms-Access Ms-Sql server
) ; ( . Oracle
SELECT
SELECT DISTINCT
DISTINCT
)
( .
: DISTINCT
SELECT Company FROM Orders
"Orders" table
OrderNumber
3412
2312
4678
6798
Company
Sega
W3Schools
Trio
W3Schools
Result:
Company
Sega
W3Schools
Trio
W3Schools
DISTINCT
SELECT DISTINCT Company FROM Orders
Result:
Company
Sega
W3Schools
Trio
WHERE
Select
:
Syntax
SELECT column FROM table
WHERE column operator value
: Where
=
<>
>
<
>=
<=
Between
LIKE
<> SQL :
!=
Where
SELECT * FROM Persons
WHERE City='Sandnes'
"Persons" table
LastName
Hansen
Svendson
Svendson
Pettersen
FirstName
Ola
Tove
Stale
Kari
Address
Timoteivn 10
Borgvn 23
Kaivn 18
Storgt 20
City
Sandnes
Sandnes
Sandnes
Stavanger
Year
1951
1978
1980
1960
City
Sandnes
Sandnes
Sandnes
Year
1951
1978
1980
Result
LastName
Hansen
Svendson
Svendson
FirstName
Ola
Tove
Stale
Address
Timoteivn 10
Borgvn 23
Kaivn 18
: ) ' (
.
:
For text values:
This is correct:
'SELECT * FROM Persons WHERE FirstName='Tove
This is wrong:
SELECT * FROM Persons WHERE FirstName=Tove
Like
.
Syntax
SELECT column FROM table
WHERE column LIKE pattern
) ( %
:
A
SELECT * FROM Persons
'WHERE FirstName LIKE 'a%
A
SELECT * FROM Persons
'WHERE FirstName LIKE '%a
A
SELECT * FROM Persons
'WHERE FirstName LIKE '%la%
Between
UPDATE : -
INSERT INTO : -
DELETE : -
INSERT INTO
:
:
Syntax
INSERT INTO table_name
VALUES (value1, value2,....)
:
INSERT INTO table_name (column1, column2,...)
VALUES (value1, value2,....)
:
This "Persons" table:
LastName
Pettersen
FirstName
Kari
Address
Storgt 20
City
Stavanger
:
LastName
Pettersen
Hetland
FirstName
Kari
Camilla
Address
Storgt 20
Hagabakka 24
City
Stavanger
Sandnes
: )(
INSERT INTO Persons (LastName, Address)
VALUES ('Rasmussen', 'Storgt 67')
:
LastName
Pettersen
Hetland
Rasmussen
FirstName
Kari
Camilla
Address
Storgt 20
Hagabakka 24
Storgt 67
City
Stavanger
Sandnes
UPDATE :
:
Syntax
UPDATE table_name
SET column_name = new_value
WHERE column_name = some_value
:
Person:
LastName
Nilsen
Rasmussen
FirstName
Fred
Address
Kirkegt 56
Storgt 67
City
Stavanger
:
UPDATE Person SET FirstName = 'Nina'
WHERE LastName = 'Rasmussen'
Result:
LastName
Nilsen
Rasmussen
FirstName
Fred
Nina
Address
Kirkegt 56
Storgt 67
City
Stavanger
:
UPDATE Person
SET Address = 'Stien 12', City = 'Stavanger'
WHERE LastName = 'Rasmussen'
Result:
LastName
Nilsen
Rasmussen
FirstName
Fred
Nina
Address
Kirkegt 56
Stien 12
City
Stavanger
Stavanger
DELETE :
:
Syntax
DELETE FROM table_name
WHERE column_name = some_value
:
Person:
LastName
Nilsen
Rasmussen
FirstName
Fred
Nina
Address
Kirkegt 56
Stien 12
City
Stavanger
Stavanger
DELETE FROM Person WHERE LastName = 'Rasmussen'
Result :
LastName
Nilsen
FirstName
Fred
Address
Kirkegt 56
City
Stavanger
) (
:
DELETE FROM table_name
or
DELETE * FROM table_name
SQL Data Manipulation Language (DML)
SQL
Order By :
:
Orders:
OrderNumber
3412
5678
2312
6798
Company
Sega
ABC Shop
W3Schools
W3Schools
:
SELECT Company, OrderNumber FROM Orders
ORDER BY Company
Result:
OrderNumber
5678
3412
6798
2312
Company
ABC Shop
Sega
W3Schools
W3Schools
Company
:
SELECT Company, OrderNumber FROM Orders
ORDER BY Company, OrderNumber
Result:
OrderNumber
5678
3412
2312
6798
Company
ABC Shop
Sega
W3Schools
W3Schools
:
SELECT Company, OrderNumber FROM Orders
ORDER BY Company DESC
Result:
OrderNumber
6798
2312
3412
5678
Company
W3Schools
W3Schools
Sega
ABC Shop
:
:
SELECT Company, OrderNumber FROM Orders
ORDER BY Company DESC, OrderNumber ASC
:
SELECT Company, OrderNumber FROM Orders
ORDER BY OrderNumber , Company DESC
Result:
OrderNumber
2312
6798
3412
5678
Company
W3Schools
W3Schools
Sega
ABC Shop
Arab Team 2000
And Or
AND
OR
:
LastName
Hansen
Svendson
Svendson
FirstName
Ola
Tove
Stephen
Address
Timoteivn 10
Borgvn 23
Kaivn 18
City
Sandnes
Sandnes
Sandnes
: AND
SELECT * FROM Persons
WHERE FirstName='Tove'
AND LastName='Svendson'
Result:
LastName
Svendson
FirstName
Tove
Address
Borgvn 23
City
Sandnes
: OR
SELECT * FROM Persons
WHERE firstname='Tove'
OR lastname='Svendson'
Result:
LastName
Svendson
Svendson
FirstName
Tove
Stephen
Address
Borgvn 23
Kaivn 18
City
Sandnes
Sandnes
:
SELECT * FROM Persons WHERE
(FirstName='Tove' OR FirstName='Stephen')
AND LastName='Svendson'
Result:
LastName
Svendson
Svendson
FirstName
Tove
Stephen
Address
Borgvn 23
Kaivn 18
City
Sandnes
Sandnes
IN
:
SELECT column_name FROM table_name
WHERE column_name IN (value1,value2,..)
:
LastName
Hansen
Nordmann
Pettersen
Svendson
FirstName
Ola
Anna
Kari
Tove
Address
Timoteivn 10
Neset 18
Storgt 20
Borgvn 23
City
Sandnes
Sandnes
Stavanger
Sandnes
FirstName
Ola
Kari
Address
Timoteivn 10
Storgt 20
City
Sandnes
Stavanger
SELECT * FROM table1_name
WHERE FirstName in (SELECT * FROM table2_name)
FirstName Table1_name
table2_name
:
LastName
Hansen
Nordmann
Pettersen
Svendson
FirstName
Ola
Anna
Kari
Tove
Address
Timoteivn 10
Neset 18
Storgt 20
Borgvn 23
City
Sandnes
Sandnes
Stavanger
Sandnes
SELECT * FROM Persons WHERE LastName
BETWEEN 'Hansen' AND 'Pettersen'
Result:
LastName
Hansen
Nordmann
FirstName
Ola
Anna
Address
Timoteivn 10
Neset 18
City
Sandnes
Sandnes
SELECT * FROM Persons WHERE LastName
NOT BETWEEN 'Hansen' AND 'Pettersen'
Result:
LastName
Pettersen
Svendson
FirstName
Kari
Tove
Address
Storgt 20
Borgvn 23
City
Stavanger
Sandnes
. (#) ) ' (
Alias
AS
:
SELECT column FROM table as Table Alias
:
SELECT column AS column_alias FROM table
:
This table (Persons):
LastName
Hansen
Svendson
Pettersen
FirstName
Ola
Tove
Kari
Address
Timoteivn 10
Borgvn 23
Storgt 20
City
Sandnes
Sandnes
Stavanger
Name
Ola
Tove
Kari
FirstName
Ola
Tove
Kari
JOIN
SQL
.
.
) (Primary Key
.
) (Employee_ID
.
) (Order_ID
).(Employee_ID
Employees:
Name
Hansen, Ola
Svendson, Tove
Svendson, Stephen
Pettersen, Kari
Employee_ID
01
02
03
04
Orders:
Employee_ID
01
03
03
Product
Printer
Table
Chair
Prod_ID
234
657
865
:
SELECT Employees.Name, Orders.Product
FROM Employees, Orders
WHERE Employees.Employee_ID=Orders.Employee_ID
Result:
Name
Hansen, Ola
Svendson, Stephen
Svendson, Stephen
Product
Printer
Table
Chair
(Printer) :
SELECT Employees.Name
FROM Employees, Orders
WHERE Employees.Employee_ID=Orders.Employee_ID
AND Orders.Product='Printer'
Result:
Name
Hansen, Ola
: INNER JOIN
:
SELECT field1, field2, field3
FROM first_table
INNER JOIN second_table
ON first_table.keyfield = second_table.foreign_keyfield
:
SELECT Employees.Name, Orders.Product
FROM Employees
INNER JOIN Orders
ON Employees.Employee_ID=Orders.Employee_ID
Result:
Name
Hansen, Ola
Svendson, Stephen
Svendson, Stephen
Product
Printer
Table
Chair
INNER JOIN
: LEFT JOIN
:
SELECT field1, field2, field3
FROM first_table
LEFT JOIN second_table
ON first_table.keyfield = second_table.foreign_keyfield
:
SELECT Employees.Name, Orders.Product
FROM Employees
LEFT JOIN Orders
ON Employees.Employee_ID=Orders.Employee_ID
Result:
Name
Hansen, Ola
Svendson, Tove
Svendson, Stephen
Svendson, Stephen
Pettersen, Kari
Product
Printer
Table
Chair
LEFT JOIN
Employee
: RIGHT JOIN
:
SELECT field1, field2, field3
FROM first_table
RIGHT JOIN second_table
ON first_table.keyfield = second_table.foreign_keyfield
:
SELECT Employees.Name, Orders.Product
FROM Employees
RIGHT JOIN Orders
ON Employees.Employee_ID=Orders.Employee_ID
Result:
Name
Hansen, Ola
Svendson, Stephen
Svendson, Stephen
Product
Printer
Table
Chair
RIGHT JOIN
Orders
: INNER JOIN
(Printer)
SELECT Employees.Name
FROM Employees
INNER JOIN Orders
ON Employees.Employee_ID=Orders.Employee_ID
WHERE Orders.Product = 'Printer'
Result:
Name
Hansen, Ola
. JOIN
:
Employees_Norway:
E_ID
01
02
03
04
E_Name
Hansen, Ola
Svendson, Tove
Svendson, Stephen
Pettersen, Kari
Employees_USA:
E_ID
01
02
03
04
E_Name
Turner, Sally
Kent, Clark
Svendson, Stephen
Scott, Stephen
: E_NAME
SELECT E_Name FROM Employees_Norway
UNION
SELECT E_Name FROM Employees_USA
Result:
E_Name
Hansen, Ola
Svendson, Tove
Svendson, Stephen
Pettersen, Kari
Turner, Sally
Kent, Clark
Scott, Stephen
.
: UNION ALL
UNION
.
:
SQL Statement 1
UNION ALL
SQL Statement 2
: E_NAME
SELECT E_Name FROM Employees_Norway
UNION ALL
SELECT E_Name FROM Employees_USA
Result:
E_Name
Hansen, Ola
Svendson, Tove
Svendson, Stephen
Pettersen, Kari
Turner, Sally
Kent, Clark
Svendson, Stephen
Scott, Stephen
) SQL
(Functions
SQL Functions
SQL
:
SELECT function(column) FROM table
AVG(column)
)(
COUNT(column)
COUNT(*)
First(column)
last(column)
Max(column)
Min(column)
SUM(column)
SQL SERVER
COUNT(DISTINCT column)
:
SELECT
SELECT
SELECT
SELECT
SELECT
SELECT
SELECT
SELECT
SELECT
SUM
GROUP BY
:
SELECT column,SUM(column) FROM table GROUP BY column
:
Company
W3Schools
IBM
W3Schools
Amount
5500
4500
7100
:
SELECT Company, SUM(Amount) FROM Sales
Returns this result:
Company
W3Schools
IBM
W3Schools
SUM(Amount)
17100
17100
17100
.
: GROUP BY
SELECT Company,SUM(Amount) FROM Sales
GROUP BY Company
Returns this result:
Company
W3Schools
IBM
SUM(Amount)
12600
4500
HAVING
:
SELECT column,SUM(column) FROM table
GROUP BY column
HAVING SUM(column) condition value
:
Company
W3Schools
IBM
W3Schools
Amount
5500
4500
7100
:
SELECT Company,SUM(Amount) FROM Sales
GROUP BY Company
HAVING SUM(Amount)>10000
Returns this result :
Company
W3Schools
SUM(Amount)
12600
SQL FUNCTION
)Data Definition Language (DDL
:
: Create Database -
: Create Table -
: ALTER TABLE -
: DROP TABLE -
: CREATE INDEX- )(
: DROP INDEX -
: Create Database
CREATE DATABASE database_name
:Create Table
:
CREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
.......
)
:
CREATE TABLE Person
(
LastName text(30),
FirstName text(30),
Address text(150),
)Age (Number
)
: CREATE INDEX
.
.
) (
Unique Index
Simple Index
CREATE INDEX index_name
)ON table_name (column_name
:
CREATE INDEX PersonIndex
)ON Person (LastName
:
CREATE INDEX PersonIndex
)ON Person (LastName DESC
:
CREATE INDEX PersonIndex
)ON Person (LastName, FirstName
Drop
Drop
) (
:
DROP DATABASE database_name
:
:
DROP TABLE table_name
:
Syntax for Microsoft SQLJet (and Microsoft Access):
:
TRUNCATE TABLE table_name
ALTER TABLE
. ( )
:
ALTER TABLE table_name
ADD column_name datatype
: :
ALTER TABLE table_name
DROP COLUMN column_name
:
Person:
LastName
Pettersen
FirstName
Kari
Address
Storgt 20
:
To add a column named "City" in the "Person" table:
FirstName
Kari
Address
Storgt 20
City
:
To drop the "Address" column in the "Person" table:
FirstName
Kari
City
SELECT INTO
:
SELECT column_name(s) INTO newtable [IN externaldatabase]
FROM source
:
SELECT * INTO Persons_backup
FROM Persons
IN :
SELECT Persons.* INTO Persons IN 'Backup.mdb'
FROM Persons
:
SELECT LastName,FirstName INTO Persons_backup
FROM Persons
Where :
SELECT LastName,Firstname INTO Persons_backup
FROM Persons
WHERE City='Sandnes'
:
SELECT Employees.Name,Orders.Product
INTO Empl_Ord_backup
FROM Employees
INNER JOIN Orders
ON Employees.Employee_ID=Orders.Employee_ID
CREATE VIEW
SQL
.
:
CREATE VIEW view_name AS
)SELECT column_name(s
FROM table_name
WHERE condition
:
-
-
: Northwind
:
CREATE VIEW [Current Product List] AS
SELECT ProductID,ProductName
FROM Products
WHERE Discontinued=No
:
]SELECT * FROM [Current Product List
:
CREATE VIEW [Products Above Average Price] AS
SELECT ProductName,UnitPrice
FROM Products
WHERE UnitPrice>(SELECT AVG(UnitPrice) FROM Products)
:
SELECT * FROM [Products Above Average Price]
:
CREATE VIEW [Category Sales For 1997] AS
SELECT DISTINCT CategoryName,Sum(ProductSales) AS CategorySales
FROM [Product Sales for 1997]
GROUP BY CategoryName
:
SELECT * FROM [Category Sales For 1997]
:
SELECT * FROM [Category Sales For 1997]
WHERE CategoryName='Beverages'
GENIUS-IT@HOTMAIL.COM
WWW.ARABTEAM2000.COM
GENIUS-IT