Structured Query Language (SQL)
Structured Query Language (SQL)
CHAPTER 4
STRUCTURED QUERY LANGUAGE
(SQL)
2
Structured Query Language
DML
Retrieving and updating data.
Example : SELECT, UPDATE, DELETE, INSERT.
DDL
Defining the database structure and controlling access the
data.
Example: CREATE , ALTER , DROP.
4
Used of SQL
Create database
Syntax: CREATE DATABASE database_name;
Example : CREATE DATABASE Company;
Create table
Syntax:
CREATE TABLE table_name
(
column_name1 data type1 [NULL|NOT NULL],
column_name1 data type2 …….
);
7
Create Table : Example
DROP DATABASE
Syntax: DROP database database_name;
Example: DROP DATABASE company;
DROP TABLE
Syntax: DROP TABLE table_name;
Example: DROP TABLE worker;
Result:
LastName FirstName City
Pettersen Kari
15
DML
Syntax:
Person
LastName FirstName Address City
Nilsen Fred Kirkegt 56 Stavanger
Rasmussen Storgt 67
UPDATE Person
SET FirstName = 'Nina‘
WHERE LastName = 'Rasmussen‘;
19
Example : Update
Result:
LastName FirstName Address City
Nilsen Fred Kirkegt 56 Stavanger
Rasmussen Nina Storgt 67
20
Example : Update
UPDATE Person
SET Address = 'Stien 12', City =‘Stavanger’
WHERE LastName = 'Rasmussen'
Result:
UPDATE Person
SET City = ‘Milan’;
Result:
Result:
SQL QUERIES
26
SQL QUERIES
If we use:
SELECT DISTINCT address FROM worker;
Result:
address
CHERAS
BANGI
AMPANG
KAJANG
33
Calculated field
Example:
SELECT workerno, workername, salary /2
FROM worker;
Result:
34
Rename column
Result:
44
LIKE condition
A "%" sign can be used to define wildcards (missing letters in the pattern) both before
and after the pattern.
Using LIKE:
a) The following SQL statement will return persons with first names that start with an 'O':
SELECT *
FROM Persons
WHERE FirstName
LIKE 'O%' ;
45
LIKE condition
b)The following SQL statement will return persons with first names that end with an 'a':
WHERE FirstName
LIKE '%a' ;
c)The following SQL statement will return persons with first names that contain the pattern 'la':
SELECT *
FROM Staff
WHERE FirstName
LIKE '%la%' ;
46
Simple Queries…
4
SORTING DATA
ORDERS table:
Company OrderNumber
Sega 3412 SELECT Company, OrderNumber
ABC Shop 5678 FROM Orders
W3Schools 6798 ORDER BY Company;
W3Schools 2312
4
SORTING DATA
Result:
Company OrderNumber
ABC Shop 5678 SELECT Company, OrderNumber
Sega 3412 FROM Orders
W3Schools 6798 ORDER BY Company, OrderNumber;
W3Schools 2312
5
SORTING DATA
Result:
Company OrderNumber
ABC Shop 5678 SELECT Company, OrderNumber
Sega 3412 FROM Orders
W3Schools 2312 ORDER BY Company DESC;
W3Schools 6798
5
SORTING DATA
Result:
Company OrderNumber
W3Schools 6798
SELECT Company, OrderNumber
W3Schools 2312 FROM Orders
Sega 3412 ORDER BY OrderNumber ASC;
ABC Shop 5678
5
SORTING DATA
Result:
Company OrderNumber
W3Schools 2312
Sega 3412
ABC Shop 5678
W3Schools 6798
5
AGGREGATE FUNCTIONS
5
AGGREGATE FUNCTIONS
5
AGGREGATE FUNCTIONS
COUNT EXAMPLE:
Calculate the number of employees who lives in
Bangi.
SELECT COUNT( ADDRESS ) AS Live_in_Bangi
FROM worker
WHERE ADDRESS = 'BANGI';
5
Explain the difference…
Company OrderNumber
Sega 3412
ABC Shop 5678 SELECT COUNT(DISTINCT
company) AS Company
W3Schools 6798
W3Schools 2312 FROM customer_order;
SELECT COUNT(company)
AS Company
FROM customer_order;
5
AGGREGATE FUNCTIONS
SUM EXAMPLE:
SELECT worker no, SUM( rent ) AS RENT
FROM building
WHERE workerno = 'A02‘;
5
AGGREGATE FUNCTIONS
5
GROUP BY…
6
Example
Sales table:
Company Amount
W3Schools 5500
IBM 4500
W3Schools 7100
6
HAVING…
6
Accessing multiple tables
6
Join tables