You are on page 1of 32

WWW.W3Schools.

COM

SQL
: SQL

Structured Query Language : SQL
) (
-
-
-
-
-
-
-

ANSI





Arab Team 2000

SQL :

)ANSI (American National Standards Institute
Database System
SQL :
Ms-Access, Ms-SQL Server, DB2, Oracle, etc.

SQL :

)1- SQL Data Manipulation Language (DML


:
: Select -
: INSERT INTO -
: Update -
: Delete -
)2- Data Definition Language (DDL
:
: Create Database -
: Create Table -
: ALTER TABLE -
: DROP TABLE -
: CREATE INDEX-
: DROP INDEX -

Arab Team 2000

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

Arab Team 2000

: ) ; (
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

Arab Team 2000


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

Arab Team 2000

: ) ' (

.
:
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

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

Arab Team 2000



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

INSERT INTO Persons


VALUES ('Hetland', 'Camilla', 'Hagabakka 24', 'Sandnes')

:
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

Arab Team 2000

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

Arab Team 2000

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)

Arab Team 2000



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

Arab Team 2000

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

Arab Team 2000

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

SELECT * FROM Persons


WHERE LastName IN ('Hansen','Pettersen')
Result:
LastName
Hansen
Pettersen

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

Arab Team 2000

BETWEEN ... AND




:
SELECT column_name FROM table_name
WHERE column_name
BETWEEN value1 AND 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


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


. (#) ) ' (

Arab Team 2000

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

SELECT LastName AS Family, FirstName AS Name


FROM Persons
Result:
( )
Family
Hansen
Svendson
Pettersen

Name
Ola
Tove
Kari

SELECT LastName, FirstName


FROM Persons AS Employees
Result:
Table Employees:
LastName
Hansen
Svendson
Pettersen

FirstName
Ola
Tove
Kari

Arab Team 2000

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

Arab Team 2000

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

Arab Team 2000

: 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

Arab Team 2000

(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

Arab Team 2000

UNION and UNION ALL




.
:
SQL Statement 1
UNION
SQL Statement 2

:
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

Arab Team 2000

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

Arab Team 2000

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

AVG(Column) From Table


COUNT(column) From Table
COUNT(*) From Table
First(column) From Table
last(column) From Table
Max(column) From Table
Min(column) From Table
SUM(column) From Table
COUNT(DISTINCT column) From Table

Arab Team 2000

SQL GROUP BY and HAVING

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

Arab Team 2000

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

Arab Team 2000


)Data Definition Language (DDL
:
: Create Database -
: Create Table -
: ALTER TABLE -
: DROP TABLE -
: CREATE INDEX- )(
: DROP INDEX -

: Create Database

CREATE DATABASE database_name

Arab Team 2000

: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
)

Arab Team 2000

: CREATE INDEX



.

.
) (

Unique Index

CREATE UNIQUE INDEX index_name


)ON table_name (column_name

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

Arab Team 2000

Drop
Drop
) (
:
DROP DATABASE database_name

:
:
DROP TABLE table_name

:
Syntax for Microsoft SQLJet (and Microsoft Access):

DROP INDEX index_name ON table_name


Syntax for MS SQL Server:

DROP INDEX table_name.index_name


Syntax for IBM DB2 and Oracle:

DROP INDEX index_name


Syntax for MySQL:

ALTER TABLE table_name DROP INDEX index_name


:
TRUNCATE TABLE table_name

Arab Team 2000

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:

ALTER TABLE Person ADD City varchar(30)


Result:
LastName
Pettersen

FirstName
Kari

Address
Storgt 20

City

:
To drop the "Address" column in the "Person" table:

ALTER TABLE Person DROP COLUMN Address


Result:
LastName
Pettersen

FirstName
Kari

City

Arab Team 2000

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

Arab Team 2000

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

Arab Team 2000

:
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

Arab Team 2000

You might also like