Chapter 8. JOIN

Stitching Tables Together

Joining is the defining functionality of SQL and sets it apart from other data technologies. Be sure you are somewhat comfortable with the material we’ve covered so far, and take your time practicing and reviewing before moving on.

Let’s rewind back to the beginning of this book, when we were discussing relational databases. Remember how “normalized” databases often have tables with fields that point to other tables? For example, consider this CUSTOMER_ORDER table, which has a CUSTOMER_ID field (Figure 8-1).

The CUSTOMER_ORDER table has a CUSTOMER_ID field
Figure 8-1. The CUSTOMER_ORDER table has a CUSTOMER_ID field

This CUSTOMER_ID field gives us a key to look up in the table CUSTOMER. Knowing this, it should be no surprise that the CUSTOMER table also has a CUSTOMER_ID field (Figure 8-2).

The CUSTOMER table has a CUSTOMER_ID key field that can be used to get customer information
Figure 8-2. The CUSTOMER table has a CUSTOMER_ID key field that can be used to get customer information

We can retrieve customer information for an order from this table, very much like a VLOOKUP in Excel.

This is an example of a relationship between the CUSTOMER_ORDER table and the CUSTOMER table. We can say  that CUSTOMER is a parent to CUSTOMER_ORDER. Because CUSTOMER_ORDER depends on CUSTOMER for information, it is a child of CUSTOMER. Conversely, CUSTOMER cannot be a child of CUSTOMER_ORDER ...

Get Getting Started with SQL now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.