+ All Categories
Home > Documents > FEN 2014-02-071 Queries: SELECT Data Manipulation: INSERT, UPDATE, DELETE SQL: Structured Query...

FEN 2014-02-071 Queries: SELECT Data Manipulation: INSERT, UPDATE, DELETE SQL: Structured Query...

Date post: 11-Jan-2016
Category:
Upload: karin-harris
View: 217 times
Download: 0 times
Share this document with a friend
17
FEN 2014-02-07 1 Queries: SELECT Data Manipulation: INSERT, UPDATE, DELETE SQL: Structured Query Language – Part 2
Transcript
Page 1: FEN 2014-02-071  Queries: SELECT  Data Manipulation: INSERT, UPDATE, DELETE SQL: Structured Query Language – Part 2.

FEN 2014-02-07 1

Queries: SELECT

Data Manipulation: INSERT, UPDATE, DELETE

SQL: Structured Query Language – Part 2

Page 2: FEN 2014-02-071  Queries: SELECT  Data Manipulation: INSERT, UPDATE, DELETE SQL: Structured Query Language – Part 2.

2

VW: new database

FEN 2014-02-07

Look at this database: ..\lektion03 (SQL2)\vwDatabase.pdf

Create the database. These scripts may be helpful.

Page 3: FEN 2014-02-071  Queries: SELECT  Data Manipulation: INSERT, UPDATE, DELETE SQL: Structured Query Language – Part 2.

3

SQL: Data Manipulation Language

SELECTUPDATEINSERTDELETE

FEN 2014-02-07

All work on tables

Page 4: FEN 2014-02-071  Queries: SELECT  Data Manipulation: INSERT, UPDATE, DELETE SQL: Structured Query Language – Part 2.

4

Queries: SELECT

Syntax:

SELECT <attribute-list>FROM <tables>[WHERE <condition>][GROUP BY <attribute-list>][HAVING <condition>][ORDER BY <attribute-list>]

[...]: WHERE, GROUP BY, HAVING and ORDER BY may be omitted.

FEN 2014-02-07

Page 5: FEN 2014-02-071  Queries: SELECT  Data Manipulation: INSERT, UPDATE, DELETE SQL: Structured Query Language – Part 2.

5

Examples: Company

(Q0): Row and column selection:

SELECT Bdate, AddressFROM EmployeeWHERE Fname= ’John’

AND Minit = ’B’ AND Lname = ’Smith’

All attributes:

SELECT *---

FEN 2014-02-07

Page 6: FEN 2014-02-071  Queries: SELECT  Data Manipulation: INSERT, UPDATE, DELETE SQL: Structured Query Language – Part 2.

6

Examples: Company

(Q1): JOIN:

SELECT Fname, Lname, AddressFROM Employee, DepartmentWHERE Dname = ’Research’

AND Dno = Dnumber

• Last term in the WHERE-clause is the join-condition. If omitted the result will be the Cartesian product.

• Alternative syntax is possible.

FEN 2014-02-07

Page 7: FEN 2014-02-071  Queries: SELECT  Data Manipulation: INSERT, UPDATE, DELETE SQL: Structured Query Language – Part 2.

7

Examples: Company

(Q2): JOIN several tables:

SELECT Pnumber, Dnum, Lname, AddressFROM Project, Employee, DepartmentWHERE Plocation = ’Stafford’

AND Dnum = DnumberAND Ssn = Mgrssn

Note: Two join-conditions in the WHERE-clause.

FEN 2014-02-07

Page 8: FEN 2014-02-071  Queries: SELECT  Data Manipulation: INSERT, UPDATE, DELETE SQL: Structured Query Language – Part 2.

8

Examples: Company

(Q8): Ambiguous attribute names and aliases:

SELECT E.Fname, E.Lname,S.Fname, S.Lname

FROM Employee E, Employee SWHERE E.Superssn= S.Ssn

Employee is joined with itself using thealiases E and S.

’.’ (”dot”)-notation may also beused to resolve ambiguous attributeNames (remember Minibank?).

FEN 2014-02-07

Page 9: FEN 2014-02-071  Queries: SELECT  Data Manipulation: INSERT, UPDATE, DELETE SQL: Structured Query Language – Part 2.

9

Examples: Company

SQL-tables are NOT sets(in the mathematical sense of the word set):

(Q11): SELECT Salary

FROM Employee

(Q11A): SELECT DISTINCT Salary

FROM Employee

FEN 2014-02-07

Page 10: FEN 2014-02-071  Queries: SELECT  Data Manipulation: INSERT, UPDATE, DELETE SQL: Structured Query Language – Part 2.

10

Examples: Company

SQL-tables are NOT sets in general, but in set

operations (UNION, INTERSECT and

EXCEPT) they are:

(SELECT PNUMBER FROM PROJECT, DEPARTMENT, EMPLOYEE

WHERE LNAME = ’Smith’ AND DNUM = DNUMBER AND MGRSSN = SSN)

UNION

(SELECT PNUMBER FROM PROJECT, WORKS_ON, EMPLOYEE

WHERE LNAME = ’Smith’ AND PNO = PNUMBER AND ESSN = SSN)

FEN 2014-02-07

Page 11: FEN 2014-02-071  Queries: SELECT  Data Manipulation: INSERT, UPDATE, DELETE SQL: Structured Query Language – Part 2.

11

Updates i SQL:

Updates:Inserting rows: INSERTDeleting rows: DELETEUpdating row values: UPDATE

As SELECT they work on tables.

FEN 2014-02-07

Page 12: FEN 2014-02-071  Queries: SELECT  Data Manipulation: INSERT, UPDATE, DELETE SQL: Structured Query Language – Part 2.

12

Examples: Company

Inserting a single row:INSERT INTO EMPLOYEEVALUES (’Richard’,’K’,’Marini’,’653298653’,

’30-DEC-52’,’98 Oak Forest, Katy,

’TX’,’M’,37000,’987654321’,4)

Inserting a single row, selected attributes:INSERT INTO EMPLOYEE(FNAME,LNAME,SSN)VALUES (’Richard’,’Marini’,’653298653’)

Is rejected if any of the other attributes is defined

NOT NULL and doesn’t have defined a default value.

FEN 2014-02-07

Page 13: FEN 2014-02-071  Queries: SELECT  Data Manipulation: INSERT, UPDATE, DELETE SQL: Structured Query Language – Part 2.

13

Examples: Company

Deleting rows:

DELETE FROM EMPLOYEEWHERE LNAME =’Brown’

DELETE FROM EMPLOYEEWHERE SSN = ’123456789’

DELETE FROM EMPLOYEEWHERE DNO IN (SELECT DNUMBERFROM DEPARTMENTWHERE DNAME = ’Research’)

DELETE FROM EMPLOYEE

(Not equivalent to: ´DROP TABLE EMPLOYEE’. Why not?)

FEN 2014-02-07

Page 14: FEN 2014-02-071  Queries: SELECT  Data Manipulation: INSERT, UPDATE, DELETE SQL: Structured Query Language – Part 2.

14

Examples: Company

Updating rows:

UPDATE PROJECTSET PLOCATION = ’Bellaire’, DNUM = 5WHERE PNUMBER = 10

UPDATE EMPLOYEESET SALARY = SALARY*1.1WHERE DNO IN (SELECT DNUMBER

FROM DEPARTMENT WHERE DNAME = ’Research’)

Note, that it is only possible to affect one table in one UPDATE statement.

FEN 2014-02-07

Page 15: FEN 2014-02-071  Queries: SELECT  Data Manipulation: INSERT, UPDATE, DELETE SQL: Structured Query Language – Part 2.

15

Exercises

1. Try out some of the SQL queries on the previous slides.

FEN 2014-02-07

Page 16: FEN 2014-02-071  Queries: SELECT  Data Manipulation: INSERT, UPDATE, DELETE SQL: Structured Query Language – Part 2.

16

Company: Exercise

FEN 2014-02-07

Do Exercise 2, phase 4 onCompanyExercise.pdf

Page 17: FEN 2014-02-071  Queries: SELECT  Data Manipulation: INSERT, UPDATE, DELETE SQL: Structured Query Language – Part 2.

17

Exercise: VW-database

FEN 2014-02-07

Look at this database: ..\lektion03 (SQL2)\vwDatabase.pdf

Do some of the queries in SQL


Recommended