0% found this document useful (0 votes)
491 views

SQL Notes Full PDF

The document provides information about Structured Query Language (SQL). It begins by explaining that SQL is a database language used to define and manage database structures, perform queries, and transform raw data into useful information. It then discusses that SQL has two main sublanguages - Data Definition Language (DDL) for defining database structures, and Data Manipulation Language (DML) for inserting, updating, deleting, and retrieving data. The document provides examples of using DDL commands like CREATE, ALTER, and DROP to define and modify tables. It also provides examples of DML commands like SELECT, INSERT, UPDATE, DELETE to retrieve and modify data. Finally, it discusses some key aspects of the SQL syntax like predicates, operators, and

Uploaded by

Mira Love Them
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
491 views

SQL Notes Full PDF

The document provides information about Structured Query Language (SQL). It begins by explaining that SQL is a database language used to define and manage database structures, perform queries, and transform raw data into useful information. It then discusses that SQL has two main sublanguages - Data Definition Language (DDL) for defining database structures, and Data Manipulation Language (DML) for inserting, updating, deleting, and retrieving data. The document provides examples of using DDL commands like CREATE, ALTER, and DROP to define and modify tables. It also provides examples of DML commands like SELECT, INSERT, UPDATE, DELETE to retrieve and modify data. Finally, it discusses some key aspects of the SQL syntax like predicates, operators, and

Uploaded by

Mira Love Them
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 72

ERD

is a diagram that depicts entity


relationship model entities, attributes
and relations. It also displays
connectivity and cardinality.

Student
Student
ID

StudentName

StudentAddress

10DIP13F MOHD ASYRAF BIN


1001
HAMID

5, Jalan Telaga

10DIP13F AHMAD BIN ISHAK


1002

102, Lorong Sutera

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

Structured Query Language (SQL), is a database


language.
Allow user to:
1. create database and table structures,
2. to perform basic data management chores (add,
delete, and modify),
3. and to perform complex queries design to
transform the raw data into useful information.

SQL meets these ideal database language requirements well.


1.

It is a data definition language (DDL) : SQL


includes commands to create the database table
structures, as well as to define access rights to
the database.

2.

It is a data manipulation language (DML) : It


includes commands to insert, update, delete and
retrieve data within the database table.

SQL is relatively easy to learn.


Its command set has a basic vocabulary of less than 100
words.
SQL is a non- procedural language : you have to command
what is to be done ; you dont have to worry about how it is to
be done.

The command structure consists of standard English words such as


CREATE TABLE, INSERT, SELECT.

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

MANAGED USING DATABASE MANAGEMENT


SYSTEM (DBMS) eg:
SQL SERVER
ORACLE

STRUCTURED QUERY LANGUAGE


LANGUAGE USED TO COMMUNICATE WITH
A RELATIONAL DBMS

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>

CREATE DATABASE PSP;


Database created.

USE PSP;
Database PSP is open and ready to use.

PSP

Syntax:
CREATE TABLE <Table_name>
(Column datatype);

CREATE TABLE STAFF


(Staff_ID VARCHAR(7) NOT NULL UNIQUE,
Staff_Name VARCHAR(100) ,
Salary numeric(6,2),
Address VARCHAR(200)
PRIMARY_KEY (Staff_ID));
Table created.
**Primary Key enforces uniqueness of the
column on which they are defined.

STAFF

PSP

Table Staff
Staff_ID

Staff_Name

Salary

Address

Syntax:
ALTER TABLE table
ADD (Column datatype)
[, Column datatype];
Staff_ID

Staff_Name

ALTER TABLE STAFF


ADD Test numeric (5,2);
Table altered.

Salary

Address

Test
15.21

Syntax:
ALTER TABLE table
MODIFY (Column datatype)
[, Column datatype];
Staff_ID

Staff_Name

ALTER TABLE STAFF


MODIFY Test Numeric (5,1);
Table altered.
Salary

Address

Test
15.2

Syntax:
ALTER TABLE table
DROP (Column);

ALTER TABLE STAFF


DROP Test;
Table altered.

Staff_ID

Staff_Name

Salary

Address

Syntax:
DROP TABLE table;
DROP TABLE STAFF;
TABLE DROPPED

STRUCTURED QUERY LANGUAGE


LANGUAGE USED TO COMMUNICATE WITH
A RELATIONAL DBMS

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]);

**Note: This will insert only one row.

INSERT INTO STAFF (Staff_Id, Staff_Name,


Salary, Address)
VALUES
(1, ALEX, 1000.10, SELANGOR)
1 row created.

Staff_ID Staff_Name Salary


1

ALEX

Address

1000.10 SELANGOR

INSERT INTO STAFF (Staff_Id, Staff_Name,


Salary, Address)
VALUES
(2, AHMAD, 2000.20, NULL)
1 row created.
Staff_ID

Staff_Name

Salary

Address

ALEX

1000.10

SELANGOR

AHMAD

2000.20

INSERT INTO STAFF VALUES


(3, RAJU, 3000.30, PERAK)
1 row created.
Staff_ID

Staff_Name

Salary

Address

ALEX

1000.10

SELANGOR

AHMAD

2000.20

RAJU

3000.30

PERAK

INSERT INTO STAFF (Address, Staff_ID,


Staff_Name
VALUES
(PERAK, 4, ALI, )
Staff_ID

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]

**Note: Update more than one row at a time, if required.

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.

DELETE FROM STAFF


WHERE Staff_ID = 2;
1 row deleted

Staff_ID

Staff_Name

Salary

Address

ALEX

4000

SELANGOR

RAJU

3000.30

JOHOR

ALI

PERAK

DELETE FROM STAFF;


3 rows deleted

Staff_ID

Staff_Name

Salary

Address

Objective

Use data manipulation statements of


SQL on a given database: SELECT
commands

SQL

DATA
RETRIEVAL

SELECT

DML

DDL

Transaction
Control

DCL

SELECTING ALL COLUMNS


SELECT * FROM STAFF;
Staff_ID

Staff_Name

Salary

Address

ALEX

4000

SELANGOR

AHMAD

2000.20

JOHOR

RAJU

3000.30

JOHOR

ALI

4 rows selected

PERAK

SELECTING SPECIFIC COLUMNS


SELECT Staff_ID, Staff_Name, Address FROM
STAFF;
Staff_ID

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

USING ARITHMETIC OPERATORS (*, / , +, -)


SELECT Staff_ID, Staff_Name, Salary, Salary +
200 FROM STAFF;
Staff_ID

Staff_Name

Salary

Salary + 200

ALEX

4000

4200

AHMAD

2000.20

2200.20

RAJU

3000.30

3200.30

ALI

4 rows selected

USING ARITHMETIC OPERATORS (*, / , +, -)


OPERATOR PRECEDENCE
SELECT Staff_ID, Staff_Name, Salary, Salary + 200 as
Salary_Bonus, 0.1*Salary + 200 Comm FROM STAFF;

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

SELECT Staff_ID, Staff_Name, Salary, Salary + 200 as


Salary_Bonus, 0.1*(Salary + 200) Comm FROM
STAFF;

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

ELIMINATE DUPLICATE ROWS


SELECT DISTINCT Dept_ID FROM STAFF;
Dept_ID
IT
IE
2 rows selected

LIMITING THE ROWS SELECTED

- USING WHERE clause


Syntax:
SELECT *|{DISTINCT column|expression [alias]}
FROM table
[WHERE conditions(s)};

USING THE WHERE clause


SELECT * FROM STAFF
WHERE Staff_ID = 2;
Staff_ID

Staff_Name

Salary

Address

AHMAD

2000.20

JOHOR

1 row selected

USING THE WHERE clause USING CHARACTER


STRINGS AND DATE
SELECT * FROM STAFF
WHERE Staff_Name = AHMAD;
Staff_ID

Staff_Name

Salary

Address

AHMAD

2000.20

JOHOR

1 row selected

USING THE WHERE clause USING COMPARISON


CONDITIONS (= , > , >= , < , <= , <>)
SELECT * FROM STAFF
WHERE Salary < 3000;
Staff_ID

Staff_Name

Salary

Address

AHMAD

2000.20

JOHOR

1 row selected

USING THE WHERE clause USING BETWEEN


CONDITION
SELECT * FROM STAFF
WHERE Salary BETWEEN 1000 AND 4000;
Staff_ID

Staff_Name

Salary

Address

ALEX

4000

SELANGOR

AHMAD

2000.20

JOHOR

RAJU

3000.30

JOHOR

3 rows selected

USING THE WHERE clause USING IN CONDITION


SELECT * FROM STAFF
WHERE Staff_ID IN (1 , 4);
Staff_ID

Staff_Name

Salary

Address

ALEX

4000

SELANGOR

ALI

2 rows selected

PERAK

USING THE WHERE clause USING LIKE


CONDITION
SELECT * FROM STAFF
WHERE Staff_Name LIKE AL%;
Staff_ID

Staff_Name

Salary

Address

ALEX

4000

SELANGOR

ALI

2 rows selected

PERAK

USING THE WHERE clause USING LIKE


CONDITION
SELECT * FROM STAFF
WHERE Staff_Name LIKE %X;
Staff_ID

Staff_Name

Salary

Address

ALEX

4000

SELANGOR

1 row selected

USING THE WHERE clause USING NULL


CONDITION
SELECT * FROM STAFF
WHERE Salary IS NULL;
Staff_ID

Staff_Name

ALI

1 row selected

Salary

Address
PERAK

USING THE WHERE clause USING


THE AND OPERATOR
SELECT * FROM STAFF
WHERE Salary >= 1000
AND Staff_Name LIKE A%;
Staff_ID

Staff_Name

Salary

Address

ALEX

4000

SELANGOR

AHMAD

2000.20

JOHOR

2 rows selected

USING THE WHERE clause USING THE


OR OPERATOR
SELECT * FROM STAFF
WHERE Salary >= 1000
OR Staff_Name LIKE A%;
Staff_ID

Staff_Name

Salary

Address

ALEX

4000

SELANGOR

AHMAD

2000.20

JOHOR

RAJU

3000.30

JOHOR

ALI

4 rows selected

PERAK

USING THE WHERE clause USING THE


NOT OPERATOR
SELECT * FROM STAFF
WHERE Address NOT IN (JOHOR);
Staff_ID

Staff_Name

Salary

Address

ALEX

1000

SELANGOR

ALI

2 rows selected

PERAK

RULES OF PRECEDENCE
ORDER EVALUATED

OPERATOR

Arithmetic Operators

Concatenation Operator

Comparison Conditions

IS [NOT] NULL, LIKE, [NOT] IN

[NOT] BETWEEN

NOT logical condition

AND logical condition

OR logical condition

OVERRIDE RULES OF PRECEDENCE BY USING PARENTHESES

USING THE WHERE clause RULES OF PRECEDENCE


SELECT * FROM STAFF
WHERE Address = PERAK
OR Address = JOHOR
AND Salary >= 2000;
Staff_ID

Staff_Name

Salary

Address

AHMAD

2000.20

JOHOR

RAJU

3000.30

JOHOR

ALI

3 rows selected

PERAK

USING THE WHERE clause RULES OF PRECEDENCE


SELECT * FROM STAFF
WHERE (Address = PERAK
OR Address = JOHOR)
AND Salary >= 2000;
Staff_ID

Staff_Name

Salary

Address

AHMAD

2000.20

JOHOR

RAJU

3000.30

JOHOR

2 rows selected

USING THE SORTING ORDER BY clause


ASCENDING (ASC), DESCENDING (DESC)
SELECT * FROM STAFF
ORDER BY Salary;

DEFAULT ASC

Staff_ID

Staff_Name

Salary

Address

AHMAD

2000.20

JOHOR

RAJU

3000.30

JOHOR

ALEX

4000

SELANGOR

ALI

4 rows selected

PERAK

USING THE SORTING ORDER BY clause


ASCENDING (ASC), DESCENDING (DESC)
SELECT * FROM STAFF
ORDER BY Salary DESC;
Staff_ID

Staff_Name

Salary

Address

ALEX

4000

SELANGOR

RAJU

3000.30

JOHOR

AHMAD

2000.20

JOHOR

ALI

4 rows selected

PERAK

USING THE MULTIPLE SORTING ORDER BY clause


ASCENDING (ASC), DESCENDING (DESC)
SELECT * FROM STAFF
ORDER BY Salary DESC;
Staff_ID

Staff_Name

Salary

Address

RAJU

3000.30

JOHOR

AHMAD

2000.20

JOHOR

ALI

ALEX

4 rows selected

PERAK

4000

SELANGOR

Types of Group Functions

AVG

COUNT

MAX

MIN

SUM

VARIANCE

Using AVG, MAX, MIN and SUM functions


sal

SELECT AVG(sal), MAX(sal), MIN(sal), SUM(sal)


FROM emp;

950

8000
3500

Output

AVG(sal)

MAX(sal)

MIN(sal)

SUM(sal)

4150

8000

950

12450

Using COUNT functions


COUNT(*) returns the number of rows in a table

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

Execute GROUP BY statement


SELECT deptno, AVG(sal)
FROM emp
GROUP BY deptno;

Output

deptno

AVG(sal)

20

2075

30

4475

Using GROUP BY clause on multiple columns.


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

Execute GROUP BY statement

SELECT deptno, job, sal


FROM emp
GROUP BY deptno, job;

Output

deptno

sal

job

20

3500

PROGRAM
MER

20

650

CLERK

30

950

CLERK

30

8000

MANAGER

You might also like