3. id_município nome sigla_estado
1 Ji-Paraná RO
2 Rio Branco AC
3 Belo Horizonte NULL
4 São Paulo NULL
sigla_estado nome
RO Rondônia
AC Acre
AM Amazonas
AP Amapá
M E
id_município nome sigla_estado sigla_estado nome
1 Ji-Paraná RO RO Rondônia
2 Rio Branco AC AC Acre
select <campos>
from municipios M inner join estados E
on M.sigla_estado = E.sigla_estado
Inner join
municipios
estados
4. M E
Outer join
id_município nome sigla_estado
1 Ji-Paraná RO
2 Rio Branco AC
3 Belo Horizonte NULL
4 São Paulo NULL
sigla_estado nome
RO Rondônia
AC Acre
AM Amazonas
AP Amapá
id_município nome sigla_estado sigla_estado nome
1 Ji-Paraná RO RO Rondônia
2 Rio Branco AC AC Acre
3 Belo Horizonte MG NULL NULL
4 São Paulo SP NULL NULL
NULL NULL NULL AM Amazonas
NULL NULL NULL AP Amapá
select <campos>
from municipios M outer join estados E
on M.sigla_estado = E.sigla_estado
municipios
estados
5. Outer join
(select <campos>
from municipios M left join estados E
on M.sigla_estado = E.sigla_estado)
union
(select <campos>
from municipios M right join estados E
on M.sigla_estado = E.sigla_estado)
No MySQL precisamos adaptar:
6. M E
Left join
id_município nome sigla_estado
1 Ji-Paraná RO
2 Rio Branco AC
3 Belo Horizonte NULL
4 São Paulo NULL
sigla_estado nome
RO Rondônia
AC Acre
AM Amazonas
AP Amapá
id_município nome sigla_estado sigla_estado nome
1 Ji-Paraná RO RO Rondônia
2 Rio Branco AC AC Acre
3 Belo Horizonte MG NULL NULL
4 São Paulo SP NULL NULL
select <campos>
from municipios M left join estados E
on M.sigla_estado = E.sigla_estado
municipios
estados
7. M E
Right join
id_município nome sigla_estado
1 Ji-Paraná RO
2 Rio Branco AC
3 Belo Horizonte NULL
4 São Paulo NULL
sigla_estado nome
RO Rondônia
AC Acre
AM Amazonas
AP Amapá
id_município nome sigla_estado sigla_estado nome
1 Ji-Paraná RO RO Rondônia
2 Rio Branco AC AC Acre
NULL NULL NULL AM Amazonas
NULL NULL NULL AP Amapá
select <campos>
from municipios M right join estados E
on M.sigla_estado = E.sigla_estado
municipios
estados
8. M E
Outer excluding join
id_município nome sigla_estado
1 Ji-Paraná RO
2 Rio Branco AC
3 Belo Horizonte NULL
4 São Paulo NULL
sigla_estado nome
RO Rondônia
AC Acre
AM Amazonas
AP Amapá
id_município nome sigla_estado sigla_estado nome
3 Belo Horizonte MG NULL NULL
4 São Paulo SP NULL NULL
NULL NULL NULL AM Amazonas
NULL NULL NULL AP Amapá
select <campos>
from municipios M outer join estados E
on M.sigla_estado = E.sigla_estado
municipios
estados
9. Outer excluding join
(select <campos>
from municipios M left join estados E
on M.sigla_estado = E.sigla_estado
where E.sigla_estado is null)
union
(select <campos>
from municipios M right join estados E
on M.sigla_estado = E.sigla_estado
where M.sigla_estado is null)
No MySQL precisamos adaptar:
10. M E
Left excluding join
id_município nome sigla_estado
1 Ji-Paraná RO
2 Rio Branco AC
3 Belo Horizonte NULL
4 São Paulo NULL
sigla_estado nome
RO Rondônia
AC Acre
AM Amazonas
AP Amapá
id_município nome sigla_estado sigla_estado nome
3 Belo Horizonte MG NULL NULL
4 São Paulo SP NULL NULL
select <campos>
from municipios M left join estados E
on M.sigla_estado = E.sigla_estado
where E.sigla_estado is null;
municipios
estados
11. M E
Right excluding join
id_município nome sigla_estado
1 Ji-Paraná RO
2 Rio Branco AC
3 Belo Horizonte NULL
4 São Paulo NULL
sigla_estado nome
RO Rondônia
AC Acre
AM Amazonas
AP Amapá
id_município nome sigla_estado sigla_estado nome
NULL NULL NULL AM Amazonas
NULL NULL NULL AP Amapá
select <campos>
from municipios M right join estados E
on M.sigla_estado = E.sigla_estado
where M.sigla_estado is null;
municipios
estados
13. Controle de concorrências
Níveis de
isolamento
Dirty reads Nonrepeatable Phantom
Read uncommitted Pode ocorrer Pode ocorrer Pode ocorrer
Read commited Não ocorre Pode ocorrer Pode ocorrer
Repeatable read Não ocorre Não ocorre Pode ocorrer
Serializable Não ocorre Não ocorre Não ocorre