Download presentation
Presentation is loading. Please wait.
Published byGriffin Cole Modified over 8 years ago
1
M Taimoor Khan taimoorkhan@ciit-attock.edu.pk
2
Course Objectives 1) Basic Concepts 2) Tools 3) Database architecture and design 4) Flow of data (DFDs) 5) Mappings (ERDs) 6) Formulating queries (Relational algebra) 7) Implementing Schema 8) Built-in Functions 9) Extracting data 10) Working with Joins 11) Normalization 12) Improving performance 13) Advanced topics
3
Working with Joins o JOINS o SUBQUERIES
4
Accessing Multiple Tables Cartesian Product Inner join Outer Join Full outer join Semi Join Natural Join
5
Cartesian Product No specific command; Select is used Simply give the names of the tables involved; Cartesian product will be produced
6
Cartesian Product Produces m x n rows Select * from program, course
8
Cartesian Product Certain columns can be selected, same column name needs to be qualified Similarly can be applied to more than one tables, and even can be applied on the same table SELECT * from Student, class, program
9
Inner join Only those rows from both tables are merged that have same value for the common attribute; equijoin Implemented by different methods
10
Inner join Common attributes need not to have same name, but must have same domain Applied generally between tables having referential integrity between them
12
Inner Join SELECT * FROM course INNER JOIN program ON course.prName = program.prName Select * FROM Course c inner join program p ON c.prName = p.prName
14
Inner Join Can also be performed using the where clause, like SELECT * FROM course, program WHERE course.prName = program.prName
15
Outer Join Inner join plus the missing rows from one or more tables Left, Right and Full Outer Joins
16
Outer Joins Right Outer Join: Inner join plus rows from the non-matching rows from right table Left outer join performs the same thing but missing rows of the left side table
17
Outer Joins A Left Outer Join B = B Right Outer Join A Missing values are replaced with NULLs Full Outer Join: Inner join plus the non-matching rows from both tables
18
Outer Join Examples Select * from course c LEFT OUTER JOIN program p on c.prName = p.prName Select * from program p RIGHT OUTER JOIN course c on c.prName = p.prName
20
Outer Join Examples Select * from program p LEFT OUTER JOIN course c on p.prName = c.prName Select * from course c RIGHT OUTER JOIN program p on c.prName = p.prName
22
Full Outer Join SELECT * FROM program p FULL OUTER JOIN course c ON p.prName = c.prName (mysql way around) SELECT * FROM t1 LEFT JOIN t2 ON t1.id = t2.id UNION SELECT * FROM t1 RIGHT JOIN t2 ON t1.id = t2.id
24
Semi Join First inner join and then projected on the attributes of one table Advantage: tells the rows involved in join No operator available as such, but can be implemented by select_list
25
Semi Join Example SELECT distinct p.prName, totsem, prCredits FROM program p inner JOIN course c ON p.prName = c.prName
27
Self Join Applied on the same table having referential integrity constraint implemented onto itself ALTER TABLE student ADD cr char(5) REFERENCES student(stId)
29
Self Join SELECTa.stId, a.stName, b.stId, b.stName FROM student a, student b WHERE (a.cr = b.stId)
31
Working with Joins JOINS o SUBQUERIES
32
Next Lecture Subqueries
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.