2. What is SQL?
SQL stands for Structured Query Language
SQL lets you access and manipulate databases
SQL is an ANSI Standard
ANSI: American National Standards Institute
3. Why we use SQL?
SQL can execute queries against a database
SQL can retrieve data from a database
SQL can insert records in a database
SQL can update records in a database
SQL can delete records from a database
SQL can create new databases
SQL can create new tables in a database
SQL can create stored procedures in a database
SQL can create views in a database
SQL can set permissions on tables, procedures, and views
4. What is RDBMS?
RDBMS: Relational Database Management System
*Software that stores and manipulates data arranged in relational database tables.
Common RDBMS that use SQL are:
Oracle
Sybase
Microsoft SQL Server
Access
5. DDL
Data Definition Language (DDL) statements are
used to define the database structure or schema.
CREATE - To create objects in the database
ALTER - Alters the structure of the database
DROP - Delete objects from the database
TRUNCATE - Remove all records from a table,
including all spaces allocated for the records
are removed
6. DML
Data Manipulation Language (DML) statements
are used for managing data within schema
objects.
SELECT - retrieve data from the a database
INSERT - insert data into a table
UPDATE - updates existing data within a table
DELETE - deletes all records from a table, the
space for the records remain
7. SQL Arithmetic Operators
Operator Description Example
+ Addition - Adds values on either side a+b
of the operator
- Subtraction - Subtracts right hand a–b
operand from left hand operand
* Multiplication - Multiplies values on a*b
either side of the operator
/ Division - Divides left hand operand by b / a
right hand operand
% Modulus - Divides left hand operand b%a
by right hand operand and returns
remainder
8. SQL Comparison Operators
Operator Description Example
= Checks if the value of two operands are equal or not, if yes then (a = b) is not true.
condition becomes true.
!= Checks if the value of two operands are equal or not, if values are not (a != b) is true.
equal then condition becomes true.
<> Checks if the value of two operands are equal or not, if values are not (a <> b) is true.
equal then condition becomes true.
> Checks if the value of left operand is greater than the value of right (a > b) is not true.
operand, if yes then condition becomes true.
< Checks if the value of left operand is less than the value of right (a < b) is true.
operand, if yes then condition becomes true.
>= Checks if the value of left operand is greater than or equal to the value (a >= b) is not true.
of right operand, if yes then condition becomes true.
<= Checks if the value of left operand is less than or equal to the value of (a <= b) is true.
right operand, if yes then condition becomes true.
!< Checks if the value of left operand is not less than the value of right (a !< b) is false.
operand, if yes then condition becomes true.
!> Checks if the value of left operand is not greater than the value of right (a !> b) is true.
operand, if yes then condition becomes true.
9. SQL Logical Operators
Operator Description
AND The AND operator allows the existence of multiple conditions in an SQL
statement's WHERE clause.
BETWEEN The BETWEEN operator is used to search for values that are within a set
of values, given the minimum value and the maximum value.
IN The IN operator is used to compare a value to a list of literal values that
have been specified.
LIKE The LIKE operator is used to compare a value to similar values using
wildcard operators.
NOT The NOT operator reverses the meaning of the logical operator with
which it is used. Eg. NOT EXISTS, NOT BETWEEN, NOT IN etc. This is
negate operator.
OR The OR operator is used to combine multiple conditions in an SQL
statement's WHERE clause.
IS NULL The NULL operator is used to retrieve NULL values
10. What is a Table?
Table – A set of data arranged in columns and rows. The columns represent
characteristics of stored data and the rows represent actual data entries.
In the below table called “employee_table” we see that the columns are:
First_Name, Last_Name, Email, DOB and Phone and rows are the data.
employee_table
First_Name Last_Name Email DOB Phone
John Smith John.Smith@yahoo.com 2/4/1968 222 222-2222
Steven Goldfish goldfish@gmail.com 4/4/1974 999 455-4545
Paula Brown pb@hotmail.com 5/24/1978 777 323-3232
James Smith jim@ymail.com 20/10/1980 666 323-8888
11. Select Statement
First_Name Last_Name Email DOB Phone
John Smith John.Smith@yahoo.com 2/4/1968 222 222-2222
Steven Goldfish goldfish@gmail.com 4/4/1974 999 455-4545
Paula Brown pb@hotmail.com 5/24/1978 777 323-3232
James Smith jim@ymail.com 20/10/1980 666 323-8888
Select * from employee_table
- All the columns in the employee_table are retrieved.
Select First_Name, Last_Name from employee_table
- Only First_Name and Last_Name columns in the employee_table are retrieved.
12. Distinct Statement
First_Name Last_Name Email DOB Phone
John Smith John.Smith@yahoo.com 2/4/1968 222 222-2222
Steven Goldfish goldfish@gmail.com 4/4/1974 999 455-4545
Paula Brown pb@hotmail.com 5/24/1978 777 323-3232
James Smith jim@ymail.com 20/10/1980 666 323-8888
Select Distinct Last_Name from employee_table
LastName
Smith
Goldfish
Brown
13. Where Statement
First_Name Last_Name Email DOB Phone
John Smith John.Smith@yahoo.com 2/4/1968 777 222-2222
Steven Goldfish goldfish@gmail.com 4/4/1974 999 455-4545
Paula Brown pb@hotmail.com 5/24/1978 777 323-8888
James Smith jim@ymail.com 20/10/1980 666 323-8888
Select * from employee_table
where Last_Name= “Smith”
John.Smith@yahoo.co
John Smith 2/4/1968 222 222-2222
m
James Smith jim@ymail.com 20/10/1980 666 323-8888
14. Where Statement Examples:
<>, >, >=, <, =<, Like, Wildcard and Between
SELECT * SELECT *
FROM employee_table FROM employee_table
WHERE Last_Name <> 'Smith' WHERE DOB =< ‘20/10/1980'
SELECT * SELECT *
FROM employee_table FROM employee_table
WHERE DOB > ‘20/10/1980' WHERE Phone LIKE ’777%’
SELECT * SELECT *
FROM employee_table FROM employee_table
WHERE DOB >= ‘20/10/1980' WHERE DOB BETWEEN ‘20/10/1980' AND
‘20/10/1990'
SELECT *
FROM employee_table
WHERE DOB < ‘20/10/1980'
15. Update Statement
First_Name Last_Name Email DOB Phone
John Smith John.Smith@yahoo.com 2/4/1968 222 222-2222
Steven Goldfish goldfish@gmail.com 4/4/1974 999 455-4545
Paula Brown pb@hotmail.com 5/24/1978 777 323-3232
James Smith jim@ymail.com 20/10/1980 666 323-8888
UPDATE employee_table
SET DOB = '5/10/1974'
WHERE Last_Name = 'Goldfish' AND First_Name = 'Steven’
UPDATE employee_table
SET Phone = '626 555-5555'
WHERE Last_Name = 'Smith'
16. Delete Statement
First_Name Last_Name Email DOB Phone
John Smith John.Smith@yahoo.com 2/4/1968 222 222-2222
Steven Goldfish goldfish@gmail.com 4/4/1974 999 455-4545
Paula Brown pb@hotmail.com 5/24/1978 777 323-3232
James Smith jim@ymail.com 20/10/1980 666 323-8888
DELETE FROM employee_table
DELETE FROM employee_table
WHERE Last_Name = 'Smith'
17. IN Statement
SELECT * FROM Employee_Hours
WHERE Date IN ('5/6/2004', '5/7/2004')
SELECT * FROM Employee_Hours
WHERE Hours IN (‘9’, ’10’)
18. Not IN Statement
SELECT * FROM Employee_Hours
WHERE Date NOT IN ('5/6/2004', '5/7/2004')
SELECT * FROM Employee_Hours
WHERE Hours NOT IN (‘9’, ’10’)
19. AND/ OR Operator
First_Name Last_Name Email DOB Phone
John Smith John.Smith@yahoo.com 2/4/1968 222 222-2222
Steven Goldfish goldfish@gmail.com 4/4/1974 999 455-4545
Paula Brown pb@hotmail.com 5/24/1978 777 323-3232
James Smith jim@ymail.com 20/10/1980 666 323-8888
SELECT * FROM Employee_table
WHERE First_Name = ‘’John ’’ and Last_Name = ‘’ Smith’’
SELECT * FROM Employee_table
WHERE First_Name= ‘’Paula’’ or First_Name= ‘’James’’
20. TOP Statement
First_Name Last_Name Email DOB Phone
John Smith John.Smith@yahoo.com 2/4/1968 222 222-2222
Steven Goldfish goldfish@gmail.com 4/4/1974 999 455-4545
Paula Brown pb@hotmail.com 5/24/1978 777 323-3232
James Smith jim@ymail.com 20/10/1980 666 323-8888
SELECT TOP 10 * FROM Employee_table
SELECT TOP 200 * FROM Employee_table
21. Insert Into Statement
INSERT INTO employee_table (FirstName, LastName, Email, DOB, Phone)
VALUES ('Peter', 'Hunt', 'peter.hunt@gmail.com', '1/1/1974', '626 888-8888’)
First_Name Last_Name Email DOB Phone
John Smith John.Smith@yahoo.com 2/4/1968 222 222-2222
Steven Goldfish goldfish@gmail.com 4/4/1974 999 455-4545
Paula Brown pb@hotmail.com 5/24/1978 777 323-3232
James Smith jim@ymail.com 20/10/1980 666 323-8888
Peter Hunt Peter.hunt@gmail.com 1/1/1974 626 888-8888
INSERT INTO employee_table
VALUES ('Peter', 'Hunt', 'peter.hunt@gmail.com', '1/1/1974', '626 888-8888')
INSERT INTO employee_table (FirstName, LastName)
VALUES ('Peter', 'Hunt')
22. Select Into Statement
SELECT FirstName, LastName
INTO employee_table_name_backup
FROM employee_table
First_Name Last_Name Email DOB Phone
John Smith John.Smith@yahoo.com 2/4/1968 222 222-2222
Steven Goldfish goldfish@gmail.com 4/4/1974 999 455-4545
Paula Brown pb@hotmail.com 5/24/1978 777 323-3232
James Smith jim@ymail.com 20/10/1980 666 323-8888
Peter Hunt Peter.hunt@gmail.com 1/1/1974 626 888-8888
SELECT *
INTO employee_table_copy
FROM employee_table
23. Count Statement
First_Name Last_Name Email DOB Phone
John Smith John.Smith@yahoo.com 2/4/1968 222 222-2222
Steven Goldfish goldfish@gmail.com 4/4/1974 999 455-4545
Paula Brown pb@hotmail.com 5/24/1978 777 323-3232
James Smith jim@ymail.com 20/10/1980 666 323-8888
Peter Hunt Peter.hunt@gmail.com 1/1/1974 626 888-8888
SELECT COUNT(*)
FROM employee_table
SELECT COUNT (First_Name)
FROM employee_table
24. As Statement
First_Name Last_Name Email DOB Phone
John Smith John.Smith@yahoo.com 2/4/1968 222 222-2222
Steven Goldfish goldfish@gmail.com 4/4/1974 999 455-4545
Paula Brown pb@hotmail.com 5/24/1978 777 323-3232
James Smith jim@ymail.com 20/10/1980 666 323-8888
Peter Hunt Peter.hunt@gmail.com 1/1/1974 626 888-8888
SELECT Last_Name AS “EMP_LNAME”, Phone AS “Emergency_Contact”
FROM employee_table
SELECT COUNT (First_Name) AS “Number_of_employees”
FROM employee_table
25. Order By Statement
First_Name Last_Name Email DOB Phone
John Smith John.Smith@yahoo.com 2/4/1968 222 222-2222
Steven Goldfish goldfish@gmail.com 4/4/1974 999 455-4545
Paula Brown pb@hotmail.com 5/24/1978 777 323-3232
James Smith jim@ymail.com 20/10/1980 666 323-8888
Peter Hunt peter.hunt@gmail.com 1/1/1974 626 888-8888
SELECT * FROM employee_table
ORDER BY DOB
SELECT * FROM employee_table
ORDER BY DOB DESC
SELECT * FROM employee_table
ORDER BY DOB ASC
SELECT * FROM employee_table
ORDER BY DOB, Last_Name
30. Group By Statement
Select Employee, SUM(Hours) As Total_Hours
from Time_Table
Group By Employee
31. Having Statement
Select Employee, SUM(Hours) As Total_Hours
from Time_Table
Group By Employee
Having SUM(Hours) >24
32. SQL Alias
CustomerID First_Name Email DOB Phone
1 Smith John.Smith@yahoo.com 2/4/1968 222 222-2222
2 Goldfish goldfish@gmail.com 4/4/1974 999 455-4545
3 Brown pb@hotmail.com 5/24/1978 777 323-3232
4 Kapil jim@ymail.com 20/10/1980 666 323-8888
5 Hunt Peter.hunt@gmail.com 1/1/1974 626 888-8888
33. SQL Alias (Contd.)
Select a.First_Name, b.SaleAmount
From Customer a, Sales b
Where a.CustomerID=b.CustomerID
Select a.Email, a.DOB, a.Phone, b.Date, b.SaleAmount
From Customer a, Sales b
Where a.CustomerID=b.CustomerID
Select a.First_Name, SUM(b.SaleAmount) AS TOTALSALES
From Customer a, Sales b
Where a.CustomerID=b.CustomerID
Group By a.First_Name
35. PK & UK Differences
Primary Key:
1. It will not accept null values. 2. There will be only one primary key in a
table. 3. Clustered index is created in Primary key. 4. Primary key allows each
row in a table to be uniquely identified and ensures that no duplicate rows
exist.
Unique Key: 1. Null values are accepted. 2. More than one unique key will
be there in a table. 3. Non-Clustered index is created in unique key. 4. Unique
key constraint is used to prevent the duplication of key values within the rows of
a table and allow null values.