SQL Querying Multiple Tables: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 16: Line 16:
  <b>person</b>  
  <b>person</b>  
   
   
  Column   | Type   
Column     | Type   
  -----------+---------
  -----------+---------
  id        | integer  <font color=teal># primary key</font>
  id        | integer  <font color=teal># primary key</font>
Line 24: Line 24:
  <b>company</b>
  <b>company</b>
   
   
  Column   | Type   
Column     | Type   
  -----------+---------
  -----------+---------
  id        | integer <font color=teal># primary key</font>
  id        | integer <font color=teal># primary key</font>
Line 32: Line 32:
  <b>city</b>
  <b>city</b>
   
   
  Column   | Type   
Column     | Type   
  -----------+---------
  -----------+---------
  id        | integer <font color=teal># primary key</font>
  id        | integer <font color=teal># primary key</font>

Revision as of 20:23, 23 May 2024

External

Internal

Overview

More than one table can be used in a FROM query clause, and when that happens, it is said that the query performs a join.

Join Condition

If more than one table appears in the FROM clause, then the condition used to link the tables must be included as well. This is the ANSI-approved method. of joining multiple tables, and it is the most portable across various database servers.


Examples

All examples provided in this article are based on three tables (person, address and country), with the following schema:

person 

Column     | Type  
-----------+---------
id         | integer  # primary key
name       | text    
company_id | integer  # foreign key that references company(id)

company

Column     | Type   
-----------+---------
id         | integer # primary key
name       | text    
city_id    | integer # foreign key that references city(id)

city

Column     | Type   
-----------+---------
id         | integer # primary key
name       | text    


Foreign key

Join