Chapter 5 SQL. Agenda Data Manipulation Language (DML) –SELECT –Union compatible operations –Update database.

Slides:



Advertisements
Similar presentations
Union, Intersection, Difference (subquery) UNION (subquery) produces the union of the two relations. Similarly for INTERSECT, EXCEPT = intersection and.
Advertisements

Chapter 4 Hotel (hotelno, hotelname, city)
1 Assignment 2 Relational Algebra Which tables? What operations? Common attributes? What result (attributes)? Syntax (Standard Notations and Symbols) –Product:
CS 3630 Database Design and Implementation. SQL Query Clause Select and From Select * From booking; select hotel_no, guest_no, room_no from booking; select.
Information Resources Management February 27, 2001.
Chapter 6 SQL. Agenda Data Definition Language (DDL) Access Control.
Chapter 5 SQL. Agenda Data Manipulation Language (DML) –SELECT –Union compatible operations –Update database.
1 Minggu 4, Pertemuan 8 SQL: Data Manipulation (Cont.) Matakuliah: T0206-Sistem Basisdata Tahun: 2005 Versi: 1.0/0.0.
Chapter 6 SQL Homework.
Chapter 5 SQL Homework.
Chapter 6 SQL: Data Manipulation Cont’d. 2 ANY and ALL u ANY and ALL used with subqueries that produce single column of numbers u ALL –Condition only.
Chapter 5 SQL. Agenda Data Manipulation Language (DML) –SELECT –Union compatible operations –Update database.
Relational Operators, SQL, and Access Query ISYS 562.
1 Announcements Read 6.7 – 6.10 for Friday Homework 6, due Friday 10/29 Research paper –List of sources - due 10/29 Department Seminar –The Role of Experimentation.
Chapter 6 SQL. Agenda Data Definition Language (DDL) Access Control.
Chapter 10 Data and Knowledge Management. Agenda Information processing Database Data Administrator The DBMS Distributing data Data warehousing and data.
Agenda TMA01 M876 Block 3 – Using SQL Structured Query Language - SQL A non-procedural language to –Create database and relation structures. –Perform.
Announcements Read 6.7 – 6.10 for Wednesday Homework 6, due Friday 10/29 Project Step 4, due today Research paper –List of sources - due 10/29.
BACS--485 SQL 11 BACS 485 Structured Query Language.
SQL: Data Manipulation Presented by Mary Choi For CS157B Dr. Sin Min Lee.
1 TAC2000/ Protocol Engineering and Application Research Laboratory (PEARL) Structured Query Language Introduction to SQL Structured Query Language.
Using Special Operators (LIKE and IN)
SQL Data Manipulation II Chapter 5 CIS 458 Sungchul Hong.
Chapter 5 SQL: Data Manipulation © Pearson Education Limited 1995, 2005.
SQL queries ordering and grouping and joins
1 Pertemuan > > Matakuliah: >/ > Tahun: > Versi: >
MIS 3053 Database Design & Applications The University of Tulsa Professor: Akhilesh Bajaj RM/SQL Lecture 5 © Akhilesh Bajaj, 2000, 2002, 2003, All.
BACS 287 Structured Query Language 1. BACS 287 Visual Basic Table Access Visual Basic provides 2 mechanisms to access data in tables: – Record-at-a-time.
SQL - DML. Data Manipulation Language(DML) Are used for managing data: –SELECT retrieve data from the a database –INSERT insert data into a table –UPDATE.
Concepts of Database Management Eighth Edition Chapter 3 The Relational Model 2: SQL.
Chapter 5 SQL: Data Manipulation Thomas Connolly, Carolyn Begg, Database System, A Practical Approach to Design Implementation and Management, 4 th Edition,
IST 210 SQL Todd Bacastow IST 210: Organization of Data.
AL-MAAREFA COLLEGE FOR SCIENCE AND TECHNOLOGY INFO 232: DATABASE SYSTEMS CHAPTER 7 (Part II) INTRODUCTION TO STRUCTURED QUERY LANGUAGE (SQL) Instructor.
Chapter 6 SQL. Agenda Data Definition Language (DDL) Access Control.
CS 3630 Database Design and Implementation. Joins -- For each booking, display the booking -- details with the room type and price Select B.*, rtype,
Concepts of Database Management Seventh Edition Chapter 3 The Relational Model 2: SQL.
1/18/00CSE 711 data mining1 What is SQL? Query language for structural databases (esp. RDB) Structured Query Language Originated from Sequel 2 by Chamberlin.
ITEC 3220A Using and Designing Database Systems Instructor: Prof. Z. Yang Course Website: 3220a.htm
SqlExam1Review.ppt EXAM - 1. SQL stands for -- Structured Query Language Putting a manual database on a computer ensures? Data is more current Data is.
SCUHolliday - coen 1787–1 Schedule Today: u Subqueries, Grouping and Aggregation. u Read Sections Next u Modifications, Schemas, Views. u Read.
INF 280 Database Systems SQL:Join
CS 3630 Database Design and Implementation. Base Table and View Base Table Stored on disk View Virtual table Records are not stored on disk Query is stored.
CS 3630 Database Design and Implementation. Where Clause and Aggregate Functions -- List all rooms whose price is greater than the -- average room price.
7 1 Database Systems: Design, Implementation, & Management, 7 th Edition, Rob & Coronel 7.6 Advanced Select Queries SQL provides useful functions that.
SQL: Data Manipulation. Objectives Describe the purpose and importance of SQL. Demonstrate how to retrieve data from database using SELECT and: ▫Use compound.
CS 3630 Database Design and Implementation. Joins -- For each booking, display the booking -- details with the room type and price Select B.*, rtype,
SQL: Additional Notes. 2 Example 5.3 Use of DISTINCT List the property numbers of all properties that have been viewed. SELECT propertyNo FROM Viewing;
Database Design lecture 3_2 Slide 1 Database Design Lecture 3_2 Data Manipulation in SQL Simple SQL queries References: Text Chapter 8 Oracle SQL Manual.
Concepts of Database Management, Fifth Edition Chapter 3: The Relational Model 2: SQL.
SQL SQL Ayshah I. Almugahwi Maryam J. Alkhalifa
Chapter 11 SQL: Data Manipulation
CS 3630 Database Design and Implementation
SQL Query Getting to the data ……..
Assignment 2 Relational Algebra Which tables? What operations?
CS 3630 Database Design and Implementation
References: Text Chapters 8 and 9
Thomas M. Connolly Carolyn E. Begg
Data Manipulation Language
The Database Exercises Fall, 2009.
SQL: Advanced Options, Updates and Views Lecturer: Dr Pavle Mogin
Assignment 2.
SQL Pertemuan 6 9/17/2018 Sistem Basis Data.
CS 3630 Database Design and Implementation
Chapter Name SQL: Data Manipulation
CS 3630 Database Design and Implementation
CS 3630 Database Design and Implementation
Database systems Lecture 3 – SQL + CRUD
Chapter Name SQL: Data Manipulation
Chapter Name SQL: Data Manipulation Transparencies JOINS
CSC 453 Database Systems Lecture
Presentation transcript:

Chapter 5 SQL

Agenda Data Manipulation Language (DML) –SELECT –Union compatible operations –Update database

SQL DML - SELECT SELECT [DISTINCT|ALL] {* | [column expression [AS newname]] [,...]} FROM table-name [alias] [,...] [WHERE condition] [GROUP BY column list] [HAVING condition] [ORDER BY column list]

Simple SELECT SELECT attributes (or calculations: +, -, /, *) FROM relation SELECT DISTINCT attributes FROM relation SELECT attributes (or * wild card) FROM relation WHERE condition

Example SELECT stuname FROM student; SELECT stuid, stuname, credits FROM student; SELECT stuid, stuname, credits+10 FROM student; SELECT DISTINCT major FROM student;

SELECT * FROM student; SELECT stuname, major, credits FROM student WHERE stuid = ‘S114’; SELECT * FROM faculty WHERE dept = ‘MIS’;

SELECT - WHERE condition AND OR NOT IN NOT INBETWEEN IS NULLIS NOT NULL SOMEALL NOT BETWEEN LIKE '%' multiple characters LIKE ‘_’ single character Evaluation rule: left to right, brackets, NOT before AND & OR, AND before OR

Example SELECT * FROM faculty WHERE dept = ‘MIS’ AND rank = ‘full professor’; SELECT * FROM faculty WHERE dept = ‘MIS’ OR rank = ‘full professor’; SELECT * FROM faculty WHERE dept = ‘MIS’ NOT rank = ‘full professor’;

SELECT * FROM class WHERE room LIKE ‘b_s%’; SELECT * FROM class WHERE room NOT LIKE ‘bus%’; SELECT productid, productname FROM inventory WHERE onhand BETWEEN 50 and 100; SELECT customerid, discountrate FROM sales WHERE discountrate LIKE ‘20#%’ ESCAPE ‘#’;

SELECT companyid, companyname FROM company WHERE companyname BETWEEN ‘G’ AND ‘K’; SELECT productid, productname FROM inventory WHERE onhand NOT BETWEEN 50 and 100; SELECT companyid, companyname FROM company WHERE companyname NOT BETWEEN ‘G’ AND ‘K’;

SELECT facname FROM faculty WHERE dept IN (‘MIS’, ‘ACT’); SELECT facname FROM faculty WHERE rank NOT IN (‘assistant’, ‘lecture’); SELECT customername FROM customer WHERE add IS NOT NULL;

SELECT customername FROM customer WHERE creditlimit IS NULL;

SELECT - aggregate functions COUNT SUM AVG MIN MAX

Example SELECT COUNT(*) FROM student; SELECT COUNT(major) FROM student; SELECT COUNT(DISTINCT major) FROM student;

SELECT COUNT(stuid), SUM(credits), AVG(credits), MAX(credits), MIN(credits) FROM student;

How many different guests have made bookings for August 2006? Hotel (hotelno, hotelname, city) Room (roomno, hotelno, type, price) Booking (hotelno, guestno, datefrom, dateto, roomno) Guest (guestno, guestname, guestaddress)

How many different guests have made bookings for August 2006? SELECT COUNT(DISTINCT guestno) FROM booking WHERE (datefrom <= ‘8/31/06’) AND (dateto >= ‘8/1/06’);

SELECT - GROUP GROUP BY HAVING

Example SELECT major, AVG(credits) FROM student GROUP BY major; SELECT course#, COUNT(stuid) FROM enrollment GROUP BY course#;

Example SELECT major, AVG(credits) FROM student GROUP BY major HAVING COUNT(*) > 2; SELECT course#, COUNT(stuid) FROM enrollment GROUP BY course# HAVING COUNT(*) > 2;

SELECT major, AVG(credits) FROM student WHERE major IN (‘mis’, ‘act’) GROUP BY major HAVING COUNT(*) > 2;

SELECT - ORDER BY ORDER BY ORDER BY... DESC

Example SELECT facname, rank FROM faculty ORDER BY facname; SELECT facname, rank FROM faculty ORDER BY rank DESC, facname;

SELECT - JOIN Tables Multiple tables in FROM clause MUST have join conditions!!!

Example List stuname and grade SELECT stuname, grade FROM student, enrollment WHERE student.stuid = enrollment.stuid;

Example List stuname and grade SELECT stuname, grade FROM student s, enrollment e WHERE s.stuid = e.stuid;

List course#, stuname and major for faculty number is equal to f114 SELECT enrollment.course#, stuname, major FROM class, enrollment, student WHERE class.course# =enrollment.course# AND enrollment.stuid = student.stuid AND facid = ‘F114’ ORDER BY enrollment.course#;

OUTER JOINS RIGHT JOIN LEFT JOIN FULL JOIN Appending (+) to the optional column (null) in the join condition (Oracle)

Example List the faculty member who does not teach any class SELECT f.facid, f.facname FROM class c, faculty f WHERE c.facid (+) = f.facid AND c.course# is null ORDER BY f.facname; (right outer join)

List the faculty member who does not teach any class SELECT f.facid, f.facname FROM class c RIGHT JOIN faculty f ON c.facid = f.facid WHERE c.course# is null ORDER BY f.facname; (right outer join)

List the student name and major who is not enrolled in any class SELECT s.stuname, major FROM student s, enrollment e WHERE s.stuid = e.stuid (+) AND e.stuid is null ORDER BY s.stuname; (left outer join)

List the student name and major who is not enrolled in any class SELECT s.stuname, major FROM student s LEFT JOIN enrollment e ON s.stuid = e.stuid WHERE e.stuid is null ORDER BY s.stuname; (left outer join)

List the faculty member who does not teach any class SELECT f.facid, f.facname FROM class c, faculty f WHERE c.facid (+) = f.facid (+) AND c.course# is null ORDER BY f.facname; (full outer join) Use only when the database contains proper records

List the faculty member who does not teach any class SELECT f.facid, f.facname FROM class c FULL JOIN faculty f ON c.facid = f.facid WHERE c.course# is null ORDER BY f.facname; (full outer join)

Example List the number of room in each hotel in London. Hotel (hotelno, hotelname, city) Room (roomno, hotelno, type, price) Booking (hotelno, guestno, datefrom, dateto, roomno) Guest (guestno, guestname, guestaddress)

Example List the number of room in each hotel in London. SELECT r.hotelno, COUNT(roomno) FROM room r, hotel h WHERE r.hotelno=h.hotelno AND city = ‘London' GROUP BY hotelno;

Union Compatible Operations UNION MINUS or EXCEPT INTERSECT Union compatible operator [ALL] [CORRESPONDING][BY column,..] (ALL includes duplicated rows in the result) Used between SELECT commands

Example List stuid and stuname who attends SAC or CHICO SELECT stuid, stuname FROM sacstudent UNION SELECT stuid, stuname FROM chicostudent; SELECT * FROM sacstudent UNION CORRESPONDING BY stuid, stuname SELECT * FROM chicostudent;

List stuid and stuname who attends SAC not CHICO SELECT stuid, stuname FROM sacstudent EXCEPT SELECT stuid, stuname FROM chicostudent; List stuid and stuname who attends SAC and CHICO (SELECT stuid, stuname FROM sacstudent) INTERSECT (SELECT stuid, stuname FROM chicostudent) ORDER BY 2;

A renter viewing list (Rno, Fname, Lname) of renters who only look property_for_rent at Sacramento (Select * From Viewing v, Property_for_rent p, Renter r Where v.Pno = p.Pno and r.Rno = v.Rno and City=‘Sacramento’) EXCEPT CORRESPONDING BY Rno, Fname, Lname (Select * From Viewing v, Property_for_rent p, Renter r Where v.Pno = p.Pno and r.Rno = v.Rno and City~=‘Sacramento’)

Column Alias SELECT prodid, prodname, (salesprice - goodofcost) profit FROM product ORDER BY prodid; SELECT prodid, prodname, (salesprice - goodofcost) AS profit FROM product ORDER BY prodid;

SUBQUERY List stuid, stuname, and credits for the student whose credits are larger than the average student credits SELECT stuid, stuname, credits FROM student WHERE credits > (SELECT AVG(credits) FROM student);

List stuid, stuname, and major of those student who is enrolled in a class SELECT stuid, stuname, major FROM student WHERE stuid IN (SELECT stuid FROM enrollment);

List stuid, stuname, and major of those student who is not enrolled in a class SELECT stuid, stuname, major FROM student WHERE stuid NOT IN (SELECT stuid FROM enrollment);

Example What is the most commonly booked room type for all hotels in London? Hotel (hotelno, hotelname, city) Room (roomno, hotelno, type, price) Booking (hotelno, guestno, datefrom, dateto, roomno) Guest (guestno, guestname, guestaddress)

Find the type with its number of rooms of every hotel in London SELECT type, COUNT(type) AS y FROM booking b, hotel h, room r WHERE r.roomno = b.roomno AND r.hotelno = b.hotelno AND b.hotelno = h.hotelno AND city = 'London' GROUP BY type;

The most commonly booked room type for all hotels in London SELECT type, MAX(y) FROM (SELECT type, COUNT(type) AS y FROM booking b, hotel h, room r WHERE r.roomno = b.roomno AND r.hotelno = b.hotelno AND b.hotelno = h.hotelno AND city = 'London' GROUP BY type) GROUP BY type;

EXIST Find student name and major who is enrolled in a class SELECT s.stuname, major FROM student s WHERE EXIST (SELECT * FROM enrollment e WHERE s.stuid = e.stuid);

NOT EXIST Find student name and major who is not enrolled in a class SELECT s.stuname, major FROM student s WHERE NOT EXIST (SELECT * FROM enrollment e WHERE s.stuid = e.stuid);

SOME Find stuid, stuname, major, and credits of the student whose credits are greater than some mis students’ credits SELECT stuid, stuname, major, credits FROM student WHERE credits > SOME (SELECT credits FROM student WHERE major=‘mis’);

ANY Find stuid, stuname, major, and credits of the student whose credits are greater than any mis student’s credits SELECT stuid, stuname, major, credits FROM student WHERE credits > ANY (SELECT credits FROM student WHERE major=‘mis’);

ALL Find stuid, stuname, major, and credits of the student whose credits are greater than every mis student’s credits SELECT stuid, stuname, major, credits FROM student WHERE credits > ALL (SELECT credits FROM student WHERE major=‘mis’);

What is the lost income from unoccupied rooms at the Grosvenor Hotel today? Hotel (hotelno, hotelname, city) Room (roomno, hotelno, type, price) Booking (hotelno, guestno, datefrom, dateto, roomno) Guest (guestno, guestname, guestaddress)

Find the rooms that are occupied at the Grosvenor Hotel today SELECT roomno FROM booking b, hotel h WHERE b.hotelno = h.hotelno AND (datefrom <= ‘SYSTEM DATE’ AND dateto >= ‘SYSTEM DATE’) AND h.hotelname = 'Grosvenor';

Find the total income of all rooms at the Grosvenor Hotel SELECT SUM(price) FROM room r, hotel h WHERE r.hotelno = h.hotelno AND h.hotelname = 'Grosvenor’;

The lost income from unoccupied rooms at the Grosvenor Hotel today SELECT SUM(price) FROM room r, hotel h WHERE r.hotelno = h.hotelno AND h.hotelname = 'Grosvenor’ AND r.roomno NOT IN (SELECT roomno FROM booking b, hotel h WHERE b.hotelno = h.hotelno AND (datefrom <= ‘SYSTEM DATE’ AND dateto >= ‘SYSTEM DATE’) AND h.hotelname = 'Grosvenor');

What is the lost income from unoccupied rooms at each hotel today? Hotel (hotelno, hotelname, city) Room (roomno, hotelno, type, price) Booking (hotelno, guestno, datefrom, dateto, roomno) Guest (guestno, guestname, guestaddress)

What is the lost income from unoccupied rooms at each hotel today? SELECT h.hotelno, SUM(price) FROM room r WHERE NOT EXIST (SELECT * FROM booking b, hotel h, room r WHERE b.hotelno = h.hotelno AND r.roomno = b.roomno AND r.hotelno = b.hotelno AND datefrom <= ‘SYSTEM DATE’ AND dateto >= ‘SYSTEM DATE’ ) GROUP BY hotelno;

SQL DML - UPDATE, INSERT, DELETE INSERT INTO table-name [(colm [, colm])] VALUES (const [, const] ) UPDATE table-name SET colm = expr [colm = expr]... [WHERE condition] DELETE FROM table-name [WHERE condition]

Example INSERT INTO student (stuid, stuname, major, credits) VALUES (‘S114’, ‘Grace’, ‘MIS’, 60); UPDATE student SET major = ‘Database’, credits = 100 WHERE stuid = ‘S114’; UPDATE student SET major = ‘MIS’;

DELETE FROM student WHERE stuid = ‘S114’; DELETE FROM student;

Points To Remember Data Manipulation Language (DML) –SELECT –Union compatible operations –Update database

Type the problem before your answer for every assigned problem of chapter 5, assignment 5, chapter 6, and assignment 6

Assignment Review chapter 5 Read chapter 6 Homework Assignment –Chapter 5.7 – 5.28 (not 5.18) and assignment 5 –Due date: