You are on page 1of 38

SQL

SCHEMA/ DATABASE

CREATE SCHEMA COMPANY AUTHORIZATION ‘ Jsmith’


The CREATE TABLE Command in SQL
CREATE TABLE EMPLOYEE;
Specifying Constraints in SQL
Specifying Constraints in SQL

Dno INT NOT NULL DEFAULT 1;

PRIMARY KEY (Ssn);

FOREIGN KEY (Super_ssn) REFERENCES EMPLOYEE(Ssn);

UNIQUE (Dname);
Basic Retrieval Queries in SQL- SELECT statement.
Structure of Basic SQL
SELECT <attribute>
Queries
FROM <table>

WHERE <condition> ;
Query 0.
Retrieve the birth date and
address of the employee(s) whose
name is ‘John B. Smith’
Result
SELECT Bdate, Address FROM EMPLOYEE WHERE Fname = ‘John’ AND Minit = ‘B’ AND
Lname = ‘Smith’;
Query 1. Retrieve the name and address of all employees who work for the ‘Research’ department.

SELECT Fname, Lname, Address FROM EMPLOYEE, DEPARTMENT WHERE


Dname = ‘Research’ AND Dnumber = Dno;
Ambiguous Attribute Names, Aliasing, Renaming, and Tuple
Variables
SELECT Fname, EMPLOYEE.Name, Address FROM EMPLOYEE, DEPARTMENT
WHERE DEPARTMENT.Name = ‘Research’ AND DEPARTMENT.Dnumber =
EMPLOYEE.Dnumber;

RENAME :
SELECT E.Fname, E.Lname, S.Fname, S.Lname FROM EMPLOYEE AS E,
EMPLOYEE AS S WHERE E.Super_ssn = S.Ssn;
Unspecified WHERE Clause and Use of the Asterisk
SELECT * FROM EMPLOYEE WHERE Dno = 5;

SELECT * FROM EMPLOYEE, DEPARTMENT WHERE Dname = ‘Research’ AND


Dno = Dnumber;

SELECT * FROM EMPLOYEE, DEPARTMENT;


SELECT ALL Salary FROM EMPLOYEE;

SELECT DISTINCT Salary FROM EMPLOYEE;


Substring Pattern Matching and Arithmetic Operators
SELECT Fname, Lname FROM EMPLOYEE WHERE Address LIKE ‘%Houston,TX
%’;

SELECT Fname, Lname FROM EMPLOYEE WHERE Bdate LIKE


‘_ _ 7 _ _ _ _ _ _ _’;
INSERT, DELETE, and UPDATE Statements in SQL
The INSERT Command

INSERT INTO EMPLOYEE VALUES ( ‘Richard’, ‘K’, ‘Marini’, ‘653298653’, ‘1962-


12-30’, ‘ 98 Oak Forest, Katy, TX’, ‘M’, 37000, ‘653298653’, 4 );
The DELETE Command

DELETE FROM EMPLOYEE WHERE Lname = ‘Brown’;


The UPDATE Command

UPDATE PROJECT SET Plocation = ‘Bellaire’, Dnum = 5 WHERE Pnumber =


10;
Nested Queries, Tuples, and Set/Multiset Comparisons
The complete select-from-where blocks within another SQL query.
That other query is called the outer query
Correlated Nested Queries
When ever a condition in the
WHERE clause of a nested
query references some attribute
of a relation declared in the outer
Joined Tables in SQL and Outer Joins
SELECT Fname, Lname, Address FROM (EMPLOYEE JOIN DEPARTMENT ON Dno
= Dnumber) WHERE Dname = ‘Research’;
SELECT Fname, Lname, Address FROM (EMPLOYEE NATURAL JOIN
(DEPARTMENT AS DEPT (Dname, Dno, Mssn, Msdate))) WHERE Dname =
‘Research’;
SELECT E.Lname AS Employee_name, S.Lname AS Supervisor_name FROM
(EMPLOYEE AS E LEFT OUTER JOIN EMPLOYEE AS S ON E.Super_ssn =
S.Ssn);
Aggregate Functions in SQL
SELECT SUM (Salary), MAX (Salary), MIN (Salary), AVG (Salary) FROM
EMPLOYEE;

SELECT COUNT (*) FROM EMPLOYEE;


Grouping: The GROUP BY and HAVING Clauses
SELECT Pnumber, Pname, COUNT (*) FROM PROJECT, WORKS_ON WHERE
Pnumber = Pno GROUP BY Pnumber, Pname HAVING COUNT (*) > 2;

SELECT Dno, COUNT (*) FROM EMPLOYEE WHERE Salary>40000 GROUP


BY Dno HAVING COUNT (*) > 5;
THANK YOU

You might also like