KEMBAR78
SQL: Querying Multiple Tables | PPTX
SQL
Querying Multiple Tables
Now It’s Relational!
SELECT c.CD_NAME, p.PREF_NAME, c.IN_STOCK
FROM CD_INVENTORY c, PERFORMERS p
WHERE c.PREF_ID = p.PREF_ID
AND c.IN_STOCK < 15;
More than 2 Tables!
SELECT c.CD_NAME, p.PREF_NAME, t.TYPE_NAME
FROM CD_INVENTORY c, PERFORMERS p,
PREF_TYPE t
WHERE c.PREF_ID = p.PREF_ID
AND p.TYPE_ID = t.TYPE_ID
AND TYPE_NAME = ‘Popular’;
Another Way to Join
SELECT c.CD_NAME, p.PREF_NAME, c.IN_STOCK
FROM CD_INVENTORY JOIN PERFORMERS p ON
c.PREF_ID = p.PREF_ID
WHERE c.IN_STOCK < 15;
LEFT OUTER JOIN
● Used to return all the rows from the LEFT
table, even if they don’t match
SELECT i.TITLE, t.TYPE_NAME, i.STOCK
FROM CD_INFO i LEFT OUTER JOIN CD_TYPE i
ON i.TYPE_ID = t.TYPE_ID;
RIGHT OUTER JOIN
Used to return all the rows from the RIGHT
table, even if they don’t match
SELECT i.TITLE, t.TYPE_NAME, i.STOCK
FROM CD_INFO i RIGHT OUTER JOIN CD_TYPE i
ON i.TYPE_ID = t.TYPE_ID;
FULL OUTER JOIN
Used to return all the UNMATCHED rows from
both tables
SELECT i.TITLE, t.TYPE_NAME, i.STOCK
FROM CD_INFO i FULL OUTER JOIN CD_TYPE i
ON i.TYPE_ID = t.TYPE_ID;
Combine Query Results
SELECT *
FROM CDS_CONTINUED
UNION
SELECT *
FROM CDS_DISCONTINUED;
● Must have same columns and data types!

SQL: Querying Multiple Tables

  • 1.
  • 2.
    Now It’s Relational! SELECTc.CD_NAME, p.PREF_NAME, c.IN_STOCK FROM CD_INVENTORY c, PERFORMERS p WHERE c.PREF_ID = p.PREF_ID AND c.IN_STOCK < 15;
  • 3.
    More than 2Tables! SELECT c.CD_NAME, p.PREF_NAME, t.TYPE_NAME FROM CD_INVENTORY c, PERFORMERS p, PREF_TYPE t WHERE c.PREF_ID = p.PREF_ID AND p.TYPE_ID = t.TYPE_ID AND TYPE_NAME = ‘Popular’;
  • 4.
    Another Way toJoin SELECT c.CD_NAME, p.PREF_NAME, c.IN_STOCK FROM CD_INVENTORY JOIN PERFORMERS p ON c.PREF_ID = p.PREF_ID WHERE c.IN_STOCK < 15;
  • 5.
    LEFT OUTER JOIN ●Used to return all the rows from the LEFT table, even if they don’t match SELECT i.TITLE, t.TYPE_NAME, i.STOCK FROM CD_INFO i LEFT OUTER JOIN CD_TYPE i ON i.TYPE_ID = t.TYPE_ID;
  • 6.
    RIGHT OUTER JOIN Usedto return all the rows from the RIGHT table, even if they don’t match SELECT i.TITLE, t.TYPE_NAME, i.STOCK FROM CD_INFO i RIGHT OUTER JOIN CD_TYPE i ON i.TYPE_ID = t.TYPE_ID;
  • 7.
    FULL OUTER JOIN Usedto return all the UNMATCHED rows from both tables SELECT i.TITLE, t.TYPE_NAME, i.STOCK FROM CD_INFO i FULL OUTER JOIN CD_TYPE i ON i.TYPE_ID = t.TYPE_ID;
  • 8.
    Combine Query Results SELECT* FROM CDS_CONTINUED UNION SELECT * FROM CDS_DISCONTINUED; ● Must have same columns and data types!