🟡 SQL JOINs

SQL JOINs: JOIN combines data sitting in two separate tables by a shared key, making them queryable as if they were one — joining a hospital's 'patients' and 'appointments' table

JOIN combines data sitting in two separate tables by a shared key, making them queryable as if they were one — joining a hospital's 'patients' and 'appointments' tables on patient_id lets you see each patient's full appointment history in a single row. But why not keep everything in one table to begin with? Because storing the same patient details repeatedly for every appointment wastes space and creates data inconsistency risks — normalization prevents this. In Java you'd build nested for loops or a Map index to combine two lists; in SQL JOIN is written in one line and executed by the engine with optimized algorithms. INNER JOIN returns only rows that match in both tables; LEFT JOIN keeps every row from the left table and writes NULL where the right side has no match — this difference is critical for QA: 'find testers with no assigned bugs' requires a LEFT JOIN; with INNER JOIN those testers disappear entirely from the result, producing a false PASS.

SQL JOIN Visualization

JOINs — Combining Tables

JOINs let you query data from multiple related tables in one go. Essential for any real-world database where data is split across tables.

Micro Lab: SQL — JOIN queries

Replace the TODO line with the critical line from the expected solution. This is not a real runtime; the goal is to reinforce writing the correct structure in a controlled way.

Step by Step: SQL — JOIN queries

Which JOIN type: INNER for intersection, LEFT for full left, RIGHT for full right

Connect tables with ON table1.id = table2.foreign_key

Specify which columns appear in SELECT with table.column format

Interpret NULL rows in LEFT JOIN result: no match found

Check if INDEX exists on JOIN columns — performance is critical

What is the correct SQL JOIN query writing order?

Visual JOIN Guide — See Exactly Which Rows Are Returned