SQL Boy
TutorialsPlayground

Format & Validate

SQL FormatterSQL MinifierSyntax Validator

Convert

JSON to SQLCSV to SQLSQL to JSONRegex to SQLExcel to SQLSQL Dialect Convertersoon

Visualize

ER Diagram GeneratorSQL Schema Diff

Generate

SQL Mock Data Generator

Analyze

SQL Query ExplainerSQL Query Analyzer

Workflow hubs

FormattingConversionSchemaAnalysis
View all tools
Daily ChallengeInterviewsCheat SheetBlog

© 2026 SQL Boy. Built for developers.

ContactPrivacyTermsAI Usage PolicyEditorial StandardsAboutRSS Feed

New conversation

What can I help with?

Ask about this page, get a hint on a challenge, or explore SQL concepts.

I know what's on this page and can give answers grounded in SQL Boy content.

Current page

3 1

/learn/chapter-3/3-1

Usage status will load after login
SQL Boy
TutorialsPlayground

Format & Validate

SQL FormatterSQL MinifierSyntax Validator

Convert

JSON to SQLCSV to SQLSQL to JSONRegex to SQLExcel to SQLSQL Dialect Convertersoon

Visualize

ER Diagram GeneratorSQL Schema Diff

Generate

SQL Mock Data Generator

Analyze

SQL Query ExplainerSQL Query Analyzer

Workflow hubs

FormattingConversionSchemaAnalysis
View all tools
Daily ChallengeInterviewsCheat SheetBlog
Initializing...
Chapter 3: Joining Tables
3-1
Your Progress
Progress
0%
0/22 lessons
Completed
0
lessons done
Chapters
0
completed
Streak
0
days

The LEFT JOIN

A LEFT JOIN returns all records from the left table (Users), and the matched records from the right table (Orders).

If there is no match, the result is NULL on the right side.

Visual Demo: Look at the visualization panel on the right. It shows how:

  1. Alice matches 2 orders.
  2. Bob matches 1 order.
  3. Charlie has no orders, so he gets a NULL.
SELECT users.name, orders.item 
FROM users 
LEFT JOIN orders ON users.id = orders.user_id;

Task: Run the query to see the actual results match the animation!

Loading...
Run a query to see results