SQL Notes Full PDF
SQL Notes Full PDF
Student
Student
ID
StudentName
StudentAddress
5, Jalan Telaga
Course
COURSE ID
NAME COURSE
DFC2033
DATABASE SYSTEM
DFC2043
OPERATING SYSTEM
Learning Outcomes:
Student should able to
State the use of Structured Query Language (SQL).
Define the two main sublanguages in SQL
a. Data Definition Language (DDL)
b. Data manipulation Language (DML)
Use the functions of the four basic DDL commands
a.
CREATE
b.
USE
c.
ALTER
d.
DROP
INTRODUCTION TO SQL
2.
Example:
CREATE TABLE Staff
(staffno VARCHAR (5),
lName VARCHAR (15),
salary DECIMAL (7,2));
INSERT INTO Staff VALUES (SG16, Brown, 8300);
SELECT staffno, lName, salary
FROM Staff
WHERE salary > 10000;
COLLECTION OF DATA
SQL
DATA
RETRIEVAL
DML
DDL
SELECT
INSERT
UPDATE
DELETE
CREATE
ALTER
DROP
Transaction
Control
DCL
COMMIT
ROLLBACK
GRANT
REVOKE
SQL
DATA
RETRIEVAL
DML
DDL
CREATE
ALTER
DROP
Transaction
Control
DCL
Syntax:
CREATE DATABASE <Database_name>
USE PSP;
Database PSP is open and ready to use.
PSP
Syntax:
CREATE TABLE <Table_name>
(Column datatype);
STAFF
PSP
Table Staff
Staff_ID
Staff_Name
Salary
Address
Syntax:
ALTER TABLE table
ADD (Column datatype)
[, Column datatype];
Staff_ID
Staff_Name
Salary
Address
Test
15.21
Syntax:
ALTER TABLE table
MODIFY (Column datatype)
[, Column datatype];
Staff_ID
Staff_Name
Address
Test
15.2
Syntax:
ALTER TABLE table
DROP (Column);
Staff_ID
Staff_Name
Salary
Address
Syntax:
DROP TABLE table;
DROP TABLE STAFF;
TABLE DROPPED
SQL
DATA
RETRIEVAL
DML
INSERT
UPDATE
DELETE
DDL
Transaction
Control
DCL
SQL
DATA
RETRIEVAL
DML
INSERT
UPDATE
DELETE
DDL
Transaction
Control
DCL
Syntax:
INSERT INTO table [(Column [, Column])]
VALUES (Value [, Value]);
ALEX
Address
1000.10 SELANGOR
Staff_Name
Salary
Address
ALEX
1000.10
SELANGOR
AHMAD
2000.20
Staff_Name
Salary
Address
ALEX
1000.10
SELANGOR
AHMAD
2000.20
RAJU
3000.30
PERAK
Staff_Name
Salary
Address
ALEX
1000.10
SELANGOR
AHMAD
2000.20
RAJU
3000.30
ALI
PERAK
PERAK
Syntax:
UPDATE table
SET Column = Value [, Column = Value,]
[WHERE condition]
UPDATE STAFF
SET Address = MELAKA
WHERE Staff_Id = 2;
1 row updated
Staff_ID
Staff_Name
Salary
Address
ALEX
1000.10
SELANGOR
AHMAD
2000.20
MELAKA
RAJU
3000.30
PERAK
ALI
PERAK
UPDATE STAFF
SET Address = JOHOR
4 rows updated
Staff_ID
Staff_Name
Salary
Address
ALEX
1000.10
JOHOR
AHMAD
2000.20
JOHOR
RAJU
3000.30
JOHOR
ALI
JOHOR
UPDATE STAFF
SET Address = SELANGOR, Salary = 4000
WHERE Staff_ID = 1;
1 row updated
Staff_ID
Staff_Name
Salary
Address
ALEX
4000
SELANGOR
AHMAD
2000.20
JOHOR
RAJU
3000.30
JOHOR
ALI
PERAK
Syntax:
DELETE [FROM] table
[WHERE condition];
**If no rows are deleted, a message 0 rows deleted
is returned.
Staff_ID
Staff_Name
Salary
Address
ALEX
4000
SELANGOR
RAJU
3000.30
JOHOR
ALI
PERAK
Staff_ID
Staff_Name
Salary
Address
Objective
SQL
DATA
RETRIEVAL
SELECT
DML
DDL
Transaction
Control
DCL
Staff_Name
Salary
Address
ALEX
4000
SELANGOR
AHMAD
2000.20
JOHOR
RAJU
3000.30
JOHOR
ALI
4 rows selected
PERAK
Staff_Name
Address
ALEX
SELANGOR
AHMAD
JOHOR
RAJU
JOHOR
ALI
PERAK
4 rows selected
USING ALIASES
SELECT Staff_ID as ID, Staff_Name as Name,
Address FROM STAFF;
ID
Name
Address
ALEX
SELANGOR
AHMAD
JOHOR
RAJU
JOHOR
ALI
PERAK
4 rows selected
Staff_Name
Salary
Salary + 200
ALEX
4000
4200
AHMAD
2000.20
2200.20
RAJU
3000.30
3200.30
ALI
4 rows selected
Staff_ID
Staff_Name
Salary
Salary_Bonus
Comm
ALEX
4000
4200
600
AHMAD
2000.20
2200.20
400.02
RAJU
3000.30
3200.30
500.03
ALI
USING PARENTHESES
USING PARENTHESES
Staff_ID
Staff_Name
Salary
Salary_Bonus
Comm
ALEX
4000
4200
420
AHMAD
2000.20
2200.20
220.2
RAJU
3000.30
3200.30
320.3
ALI
4 rows selected
DUPLICATE ROWS
SELECT Dept_ID FROM STAFF;
Dept_ID
IT
IT
IE
IT
4 rows selected
Staff_Name
Salary
Address
AHMAD
2000.20
JOHOR
1 row selected
Staff_Name
Salary
Address
AHMAD
2000.20
JOHOR
1 row selected
Staff_Name
Salary
Address
AHMAD
2000.20
JOHOR
1 row selected
Staff_Name
Salary
Address
ALEX
4000
SELANGOR
AHMAD
2000.20
JOHOR
RAJU
3000.30
JOHOR
3 rows selected
Staff_Name
Salary
Address
ALEX
4000
SELANGOR
ALI
2 rows selected
PERAK
Staff_Name
Salary
Address
ALEX
4000
SELANGOR
ALI
2 rows selected
PERAK
Staff_Name
Salary
Address
ALEX
4000
SELANGOR
1 row selected
Staff_Name
ALI
1 row selected
Salary
Address
PERAK
Staff_Name
Salary
Address
ALEX
4000
SELANGOR
AHMAD
2000.20
JOHOR
2 rows selected
Staff_Name
Salary
Address
ALEX
4000
SELANGOR
AHMAD
2000.20
JOHOR
RAJU
3000.30
JOHOR
ALI
4 rows selected
PERAK
Staff_Name
Salary
Address
ALEX
1000
SELANGOR
ALI
2 rows selected
PERAK
RULES OF PRECEDENCE
ORDER EVALUATED
OPERATOR
Arithmetic Operators
Concatenation Operator
Comparison Conditions
[NOT] BETWEEN
OR logical condition
Staff_Name
Salary
Address
AHMAD
2000.20
JOHOR
RAJU
3000.30
JOHOR
ALI
3 rows selected
PERAK
Staff_Name
Salary
Address
AHMAD
2000.20
JOHOR
RAJU
3000.30
JOHOR
2 rows selected
DEFAULT ASC
Staff_ID
Staff_Name
Salary
Address
AHMAD
2000.20
JOHOR
RAJU
3000.30
JOHOR
ALEX
4000
SELANGOR
ALI
4 rows selected
PERAK
Staff_Name
Salary
Address
ALEX
4000
SELANGOR
RAJU
3000.30
JOHOR
AHMAD
2000.20
JOHOR
ALI
4 rows selected
PERAK
Staff_Name
Salary
Address
RAJU
3000.30
JOHOR
AHMAD
2000.20
JOHOR
ALI
ALEX
4 rows selected
PERAK
4000
SELANGOR
AVG
COUNT
MAX
MIN
SUM
VARIANCE
950
8000
3500
Output
AVG(sal)
MAX(sal)
MIN(sal)
SUM(sal)
4150
8000
950
12450
SELECT COUNT(*)
FROM emp
WHERE deptno = 30;
Output
emp_c
ode
ename
job
deptno
hiredate
001
JAMES
PROGRAMMER
20
20-MAC-90
003
ADAMS
CLERK
30
11-JUL-99
002
SMITH
MANAGER
30
03-FEB-97
COUNT(*)
2
All columns in the SELECT list that are not in group functions must be
in the GROUP BY clause.
emp_code
ename
job
deptno
sal
001
JAMES
PROGRAMMER
20
3500
003
ADAMS
CLERK
30
950
002
SMITH
MANAGER
30
8000
004
LINA
CLERK
20
650
Output
deptno
AVG(sal)
20
2075
30
4475
ename
job
deptno
sal
001
JAMES
PROGRAMMER
20
3500
003
ADAMS
CLERK
30
950
002
SMITH
MANAGER
30
8000
004
LINA
CLERK
20
650
Output
deptno
sal
job
20
3500
PROGRAM
MER
20
650
CLERK
30
950
CLERK
30
8000
MANAGER