Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Week #4
• SQL statements :
• Data retrieval: SELECT
• Data Manipulation Language (DML): INSERT,
UPDATE, and DELETE.
• Data Definition Language (DDL): CREATE, ALTER,
DROP, RENAME, and TRUNCATE.
• Transaction control: COMMIT, SAVEPOINT, and
ROLLBACK.
• Data Control Language (DCL): GRANT and REVOKE.
SELECT *
FROM tablename;
SELECT Lname
FROM EMPLOYEE
WHERE Salary > 30000 AND Sex = ‘ M’;
SELECT Lname
FROM EMPLOYEE
WHERE Salary BETWEEN 35000 AND 40000;
SELECT Lname
FROM EMPLOYEE
WHERE Salary >= 35000 AND Salary <= 40000;
SELECT Lname
FROM EMPLOYEE
WHERE Salary >= 35000 OR Salary <= 40000;
OPTION #2
FNAME LNAME SSN SALARY SEX
SELECT Lname
FROM EMPLOYEE
WHERE Salary IN ( 35000, 40000, 25000 ) ;
SELECT List_of_Attributes
FROM Relation_names
WHERE join condition(s);
DEPARTMENT
EMPLOYEE
FNAME LNAME SSN SALARY SUPERSSN SEX
NON-EQUIJOIN
• For example:
INSERT INTO dept (DeptId, Deptname, Location,
EmployeeId)
VALUES (10, ‘Finance’, ’Charlotte’,123);
OR
INSERT INTO dept
VALUES (10, ‘Finance’, ’Charlotte’,123);
DAT604 Database Design and Impl 32
Null Values
• Explicit Method:
INSERT INTO dept (DeptId, DeptName, Location,
EmployeeId)
VALUES (60, ‘Personnel’, ‘Chicago’, NULL);
• Implicit Method:
INSERT INTO dept (DeptId, DeptNAme)
VALUES (50, ‘Production’);
• For example:
WYNE
FACULTY
NAME FACULTYID ROOMID PHO
DEPTID
STUDENT
LAST FIRST STAR FACULTYID
MAJOTID
FACULTY
NAME FACULTYID ROOMID PHO
DEPTID
SELECT Student.last, Student.first, Faculty.name
FROM Student, Faculty
WHERE Student.FacultyId (+) = Faculty.FacultyID ;
SELECT Query1
Set Operator
SELECT Query2
MINUS:
• Tuples from the first query result not present in the
second query result
• Sequence of the two queries is important
SELECT columnlist
FROM tablename
WHERE columnname OPERATOR
( SELECT columnlist
FROM tablename
WHERE condition);
SELECT columnlist
FROM tablename
WHERE columnname OPERATOR
( SELECT columnlist
FROM tablename
WHERE condition);
71
DAT604 Database Design and Impl
VIEWS
• Simple View
• Based on one relation
• Does not contain group function or group data
• Data manipulation is always possible through it
• Complex View
• Based on one or more relations
• May contain group function and/or group data
• Data manipulation is not always possible through it
72
DAT604 Database Design and Impl
Creating a View
• Primary key constraint is not transferred
• NOT NULL the only constraint that gets transferred
• Populate new table with selected rows
• Sub query cannot use ORDER BY clause
General Syntax:
CREATE TABLE/VIEW tablename
AS
SELECT-FROM-WHERE;
AS
SELECT EMPLOYEEID, LNAME, FNAME
FROM EMPLOYEE
WHERE DNO = 4;
AS
SELECT Fname, Lname, DNO
FROM Employee
WHERE Dno= 4;
AS
SELECT EMPLOYEEID, LNAME, FNAME
FROM EMPLOYEE
WHERE DNO = 5
WITH CHECK OPTION;