IS6146 Databases for Management Information Systems Lecture 2: SQL II – Joins, Updates, Insertions, and Deletions Rob Gleasure robgleasure.com.

Slides:



Advertisements
Similar presentations
SQL - Subqueries and Schema Chapter 3.4 V3.0 Napier University Dr Gordon Russell.
Advertisements

The Relational Model and Relational Algebra Nothing is so practical as a good theory Kurt Lewin, 1945.
Structure Query Language (SQL) COMSATS INSTITUTE OF INFORMATION TECHNOLOGY, VEHARI.
Chapter Information Systems Database Management.
Introduction to Structured Query Language (SQL)
Introduction to Structured Query Language (SQL)
INFORMATION TECHNOLOGY IN BUSINESS AND SOCIETY SESSION 16 – SQL SEAN J. TAYLOR.
CPS120: Introduction to Computer Science Information Systems: Database Management Nell Dale John Lewis.
HAP 709 – Healthcare Databases SQL Data Manipulation Language (DML) Updated Fall, 2009.
Physical DB Issues, Indexes, Query Optimisation Database Systems Lecture 13 Natasha Alechina.
Chapter 9 Joining Data from Multiple Tables
Sundara Ram Matta Apr 01 st, Sundara Ram Matta Apr 01 st, 2015
15/10/20151 PHP & MySQL 'Slide materials are based on W3Schools PHP tutorial, 'PHP website 'MySQL website.
SQL 101 for Web Developers 14 November What is a database and why have one? Tables, relationships, normalization SQL – What SQL is and isn’t – CRUD:
CPS120: Introduction to Computer Science Lecture 19 Introduction to SQL.
IS6145 Database Analysis and Design Lecture 1: Introduction to IS6145 and the changing nature of data Rob Gleasure
Structure Query Language SQL. Database Terminology Employee ID 3 3 Last name Small First name Tony 5 5 Smith James
Using Special Operators (LIKE and IN)
NULLs & Outer Joins Objectives of the Lecture : To consider the use of NULLs in SQL. To consider Outer Join Operations, and their implementation in SQL.
CS146 References: ORACLE 9i PROGRAMMING A Primer Rajshekhar Sunderraman
M1G Introduction to Database Development 5. Doing more with queries.
6 1 Lecture 8: Introduction to Structured Query Language (SQL) J. S. Chou, P.E., Ph.D.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
SQL Basics. What is SQL? SQL stands for Structured Query Language. SQL lets you access and manipulate databases.
SQL Basic. What is SQL? SQL (pronounced "ess-que-el") stands for Structured Query Language. SQL is used to communicate with a database.
Database Fundamental & Design by A.Surasit Samaisut Copyrights : All Rights Reserved.
SQL Jan 20,2014. DBMS Stores data as records, tables etc. Accepts data and stores that data for later use Uses query languages for searching, sorting,
CMPT 258 Database Systems The Relationship Model (Chapter 3)
INFANL01-3 ANALYSE 3 WEEK 3 March 2015 Institute voor Communication, Media en Informatietechnology.
Lectures 2&3: Introduction to SQL. Lecture 2: SQL Part I Lecture 2.
IS6146 Databases for Management Information Systems Lecture 4: SQL IV – SQL Functions and Procedures Rob Gleasure robgleasure.com.
IS6146 Databases for Management Information Systems Lecture 3: SQL III – The DDL Rob Gleasure robgleasure.com.
Starting with Oracle SQL Plus. Today in the lab… Connect to SQL Plus – your schema. Set up two tables. Find the tables in the catalog. Insert four rows.
CSCI 6962: Server-side Design and Programming Shopping Carts and Databases.
Manipulating Data Lesson 3. Objectives Queries The SELECT query to retrieve or extract data from one table, how to retrieve or extract data by using.
IS2803 Developing Multimedia Applications for Business (Part 2) Lecture 5: SQL I Rob Gleasure robgleasure.com.
7 1 Database Systems: Design, Implementation, & Management, 7 th Edition, Rob & Coronel 7.6 Advanced Select Queries SQL provides useful functions that.
MySQL Tutorial. Databases A database is a container that groups together a series of tables within a single structure Each database can contain 1 or more.
Understand Data Definition Language (DDL) Database Administration Fundamentals LESSON 1.4.
BTM 382 Database Management Chapter 8 Advanced SQL Chitu Okoli Associate Professor in Business Technology Management John Molson School of Business, Concordia.
Select Complex Queries Database Management Fundamentals LESSON 3.1b.
Lec-7. The IN Operator The IN operator allows you to specify multiple values in a WHERE clause. SQL IN Syntax SELECT column_name(s) FROM table_name WHERE.
COM621: Advanced Interactive Web Development Lecture 11 MySQL – Data Manipulation Language.
Fundamental of Database Systems
Rob Gleasure robgleasure.com
Web Systems & Technologies
Rob Gleasure robgleasure.com
Rob Gleasure robgleasure.com
Rob Gleasure robgleasure.com
Lecture 05: SQL Wednesday, January 12, 2005.
Prepared by : Moshira M. Ali CS490 Coordinator Arab Open University
Relational Model By Dr.S.Sridhar, Ph.D.(JNUD), RACI(Paris, NICE), RMR(USA), RZFM(Germany)
Introduction to Structured Query Language(SQL)
Understand Data Manipulation Language (DML)
Information Systems Database Management
Understand Data Manipulation Language (DML)
Introduction to Database Systems CSE 444 Lecture 04: SQL
JOINS (Joinining multiple tables)
JOINs JOINs can be used to combine tables A CROSS JOIN B
Rob Gleasure robgleasure.com
Introduction To Structured Query Language (SQL)
Database systems Lecture 3 – SQL + CRUD
Rob Gleasure robgleasure.com
SQL Fundamentals in Three Hours
Rob Gleasure robgleasure.com
Rob Gleasure robgleasure.com
Manipulating Data Lesson 3.
JOINS (Joinining multiple tables)
Presentation transcript:

IS6146 Databases for Management Information Systems Lecture 2: SQL II – Joins, Updates, Insertions, and Deletions Rob Gleasure robgleasure.com

IS6146 Today’s session  More SQL Insert Into Update Delete Joins  Exercise

Continuous Assessment In-class SQL exam (20 marks)  17 th February Reports and presentations due  9 th March (reports) A soft-bound 2000 word report (20 marks)  9 th and 16 th March (presentations) A 10 minute in-class presentation (10 marks)

Report Go to the SXSW website for their 2015 Startup Spotlight Participants   Pick a company and me the name (no duplicates, first come-first served) that you want to use for your assignment Imagine* you have been brought in as eBusiness data consultants to review the data strategy for that startup. Your job is to  Briefly summarise the startup, their users, their value proposition, and their existing use of data ( words, maximum)  Present an innovative new strategy that identifies new sources and uses of data capable of creating value  Identify key technologies that might be appropriate for implementing this new strategy

Groups The groups are as follows:  Group 1: Hartigan, Stephen John; Lu, Zicheng; Foley, Ciara Mary; Murphy, Richard;  Group 2: Li, Xiaochen;Ojo, Afolabi; O Brien, Patrick Anthony;  Group 3: Hayes, Brian James; Cofalik, Emilia Agnieszka; Liu, Yang;  Group 4: Kelleher, Shona; Murphy, Charles Francis;Curtin, Peter Laurence;  Group 5: Carey, Caroline; Wang, Pengcheng; Murphy, Laura;  Group 6: Aslam, Usman; Nolan, Ryan; Sullivan, Lee;  Group 7: Wang, Meng;Quirke, David; Wu, Jiahua;  Group 8: Lee, David James; Cahill, Liam; Ryan, Liam;

More on the SQL DML So far we’ve looked at getting data from specific tables, but there are still two parts of the Data Manipulation Language (DML) we haven’t covered The DML has four main elements  Select  Insert Into  Update  Delete Also, what if our data isn’t on one table?…

Insert Into We use INSERT INTO queries to add new tuples (aka records, rows) into a table The basic structure of an INSERT-INTO query is as follows INSERT INTO table_name1 (column_name1, column_name2, …) VALUES value1, value2, …;

Insert Into For example, say we want to insert a new student in a Students table with a Student_ID of and a Name of “Jane Smith”, we might have the following INSERT INTO Students (Student_ID, Name) VALUES ( , “Jane Smith”) ; Note that we insert the data in the form of a new tuple (aka record, row) and if we do not specify a column, we have to provide data for each column in the new record Example

Update We use UPDATE queries to modify existing tuples (aka records, rows) in a table The basic structure of an UPDATE query is as follows UPDATE table_name1, table_name2, … SET col_name1 = value1, col_name2 = value2, …; WHERE some_column=some_value;

Update For example, say we want to change the previously added student record to be “Janet Smith”, we might have the following UPDATE Students SET (Name = “Janet Smith”) WHERE (Student_ID= ) ; Careful with this, if you don’t set a WHERE condition you will change every record in the database Example

Delete We use DELETE queries to remove existing tuples (aka records, rows) in a table The basic structure of a DELETE query is as follows DELETE FROM table_name WHERE some_column=some_value;

Delete For example, say we want to delete the previously added student record, we might have the following DELETE FROM Students WHERE (Name = “Janet Smith”); Again – be careful, if you don’t set a WHERE condition you delete every record in the database Example

Joins Joins combine tuples (aka rows, records) from multiple tables Joins come in several forms  Inner Joins  Left Joins  Right Joins  Full Joins  Unions  Select Into/Into Select

Inner Joins Inner Joins return the specified columns at the intersection of two or more tables Image from

Inner Joins Inner Joins are the most basic (and probably most common) type of join The basic structure of an INNER JOIN query is as follows SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name=table2.column_name;

Inner Joins For example, say in addition to the previously added student record, a separate REFERENCES table stores student details. We could retrieve Student_IDs included in both tables as follows: SELECT Students.Student_ID, Student.Name, References.Ref_Details FROM Students INNER JOIN References ON Students.Student_ID = References.Student_ID; Example

Left Joins Left Joins (sometimes called left outer joins) return all of the specified columns from the first table and their intersection (where it exists) with two or more tables Image from

Left Joins The big difference here is that columns from our first table that have no corresponding entry in the latter tables are still returned (with null signifying the missing entry) The basic structure of an LEFT JOIN query is as follows SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name=table2.column_name;

Left Joins For example, what if some students do not have references and we still want to see their Student_ID and Name? We could retrieve these records as follows: SELECT Students.Student_ID, Student.Name, References.Ref_Details FROM Students LEFTJOIN References ON Students.Student_ID = References.Student_ID; Example

Right Joins Right Joins (sometimes called right outer joins) return all of the specified columns from the latter tables and their intersection (where it exists) with the first table Image from

Right Joins Here, columns from our latter tables that have no corresponding entry in the first tables are still returned (with null signifying the missing entry in the first table) The basic structure of an RIGHT JOIN query is as follows SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name=table2.column_name;

Right Joins For example, what if some references have been received before the corresponding student records have been created and we still want to see them? We could retrieve these records as follows: SELECT Students.Student_ID, Student.Name, References.Ref_Details FROM Students RIGHT JOIN References ON Students.Student_ID = References.Student_ID; Example ss=-1

Full Outer Joins Full Outer Joins return all of the specified columns from the first and latter tables, including entries in either table with no corresponding table in the other(s) Image from

Full Outer Joins Here, columns from our any table that have no corresponding entry in other tables are still returned (with null signifying the missing entry) The basic structure of an FULL OUTER JOIN query is as follows SELECT column_name(s) FROM table1 FULL OUTER JOIN table2 ON table1.column_name=table2.column_name;

Full Outer Joins For example, what if we want to see the full set of records to determine which student records we have not yet created and which references are still outstanding? We could retrieve these records as follows: SELECT Students.Student_ID, Student.Name, References.Ref_Details FROM Students FULL OUTER JOIN References ON Students.Student_ID = References.Student_ID;

Unions Unions are a bit different, they tend to be used for retrieving comprehensive sets of similar records Unions combine two or more SELECT queries, provided the following conditions are met  Each SELECT query must have the same number of columns  Each merged column must share data types  Columns in each SELECT query must be in the same order

Unions The basic structure of a UNION query is as follows SELECT column_name(s) FROM table1 UNION SELECT column_name(s) FROM table2; Note that this will automatically return only distinct records, though we can used UNION ALL if we want to include duplicates

Unions For example, what if our students table only stores enrolled students, whereas another Provisional_Students table stores students in provisional places awaiting confirmation? We could retrieve these records as follows: SELECT Name FROM Students UNION SELECT Name FROM Provisional_Students ORDER BY Name; Example

Select Into Sometimes we want to copy an entire schema into a new table. We can do this using SELECT INTO as follows SELECT column_name(s) INTO newtable FROM table1; This often ends up as a way of backing things up, e.g. SELECT * INTO Students_Backup FROM Students

Insert Into Select Alternatively, sometimes we want to add data from one table to an existing table. We can do this using INSERT INTO SELECT as follows INSERT INTO table2 (column_name(s)) SELECT column_name(s) FROM table1; Example http ://

Exercise Consider the following problems related to the Customers database, what queries best solve them? 1. We want to retrieve all customer addresses in Mexico? 2. We want to add a new Customer called 'Juan Garcia Ramos', with contact name 'Juan Ramos', address of 'Tribulete 4356', in the city 'México D.F', with a post code of '05029', in the country of 'Mexico‘? 3. We want to update that customer’s contact name to ‘Anna Ramos’? 4. We want to delete the same customer?

Exercise 5. We want to retrieve all cities mentioned in customer records and supplier records using a full outer join 6. We want to retrieve all cities mentioned in customer records and supplier records using a union 7. We want create e new Customer_Cities_Backup table storing all cities listed in the Customers table 8. We want to add all cities listed in the Suppliers table into the Customers table