Considere o conjunto de dados de um determinado banco de dados relacional:
| tabela 1 | ||
| tabela1pk | tabela1col1 | tabela2col2 |
| 1 | AAA | 3 |
| 2 | BBB | 4 |
| 3 | CCC | 1 |
| 4 | DDD | 2 |
| tabela 2 | ||
| tabela2pk | tabela2col1 | tabela2col2 |
| 1 | ZZZ | 2 |
| 2 | YYY | 3 |
| 3 | XXX | 4 |
| 4 | WWW | 1 |
| tabela3 | ||
| tabela3pk | tabela3col1 | tabela3col2 |
| 1 | 1 | 3 |
| 2 | 2 | null |
| 3 | 2 | 4 |
| 4 | null | 1 |
| 5 | null | null |
Os campos tabela1pk, tabela2pk e tabela3pk são chaves primárias. A tabela tabela3 é o resultado de um relacionamento N:M entre as tabelas: tabela1 e tabela2. Portanto, os campos tabela3col1 e tabela3col2 são, respectivamente, chaves estrangeiras para as tabelas: tabela1 e tabela2. Diante do exposto, considere o seguinte comando SQL:
select
tabela1col1, tabela1col2, tabela2col1, tabela2col2
from tabela3
left join tabela1 on (tabela3col1 = tabela1pk)
inner join tabela2 on (tabela3col2 = tabela2PK)
O resultado do comando é: