operadores as tabelas continuam sendo colocadas no FROM e as condicoes que as ligam tambem ficarao nessa clausula...FROM <tabela1> INNER JOIN <tabela2> ON <tabela1>.campo = <tabela2>.campoExistem algumas opcoes de JOIN disponiveis, INNER JOIN, LEFT JOIN, RIGHT JOIN E CROSS JOIN, existem outro mais trabalharemos com esses por enquanto.O INNER JOIN retorna somente os registros que atendam a condicao de singularidade dos campos .campo = .campo, somente os registros onde o campo da tabela1 for igual ao campo da tabela2;O LEFT JOIN retorna todos os registros da tabela da esquerda mesmo que nao existam na tabela da direita;O RIGHT JOIN retorna todos os registros da tabela da direita mesmo que nao existam na tabela da esquerda;O CROSS JOIN retorna todos os registros das duas tabelas montando um produto cartesiano de ambas.Usando AliasQuando utilizamos somente uma tabela na consulta colocar os nomes dos campos e uma tarefa facil, pois nao e preciso determinar de que tabela vira, mas quando temos duas ou mais tabelas essa tarefa pode se tornar um pouco mais complicada, ja imaginou se o nome colocado em uma tabela foi TABELAPRODUTOACABADOS? Mais duas ou tres tabelas com nomes parecidos? Ao determinar que campos retornassem teriamos que colocar TABELAPRODUTOACABADOS.campo1, TABELAPRODUTOACABADOS.campo2, TABELAPRODUTOACABADOS.campo3 e fazer isso para todos os campos que fosse preciso, ja imaginou o tamanho que o script ficaria? Principalmente em codigos muito extensos.Por conta disso os padroes do SQL aceitam que sejam colocadas alias ou apelido na relacao de tabelas, facilitando a sua visualizacao, entao nosso script acima ficaria de forma mais amigavel e organizado. E esses apelidos podem ser usados ao longo de todo o script.SELECT TPD.CAMPO1, TPD.CAMPO2, TPD.CAMPO3 FROM TABELAPRODUTOACABADOSAS TPD INNER JOIN TABELAPRODUTOVENDIDOS ASTPV ON TPD.CAMPO = TPV.CAMPOClausula WHERENa clausula WHERE que entram as condicoes de restricao da consulta, uma condicao geralmente e montada restringindo o valor de um campo usando Operadores Relacionais (Desvendando o SQL - Parte I - Introducao) como, por exemplo:Campo = 1 retorna valores iguais a 1;Campo <> 0 retorna valores diferentes de zero;Campo >= 100 retorna valores maiores ou iguais a 100;Campo in (valor1, valor2, valor3) retorna todos os valores entre parenteses;Campo between valor1 and valor2 usa o intervalo entre valor1 e valor2 incluindo-os;Campo like valor% retorna tudo que comece com valor;Quando existem inumeras condicoes elas sao separadas pelos Operadores Logicos (Desvendando o SQL - Parte I - Introducao) AND, OR e NOT.Campo1 = 1 AND Campo2 <> 2 retorna os registros que atendam ambas as condicoes;Campo1 = 1 OR Campo2 <> 2 retorna os registros que atenda pelo menos umas das condicoes;NOT(Campo1 = 1) e o mesmo que Campo1 <> 1 retorna os registros que negam a condicao. Se usando com o IN, por exemplo, Campo NOT IN (valor1, valor2, valor3), retorna os registros que sejam diferentes aos valores entre parenteses, e uma condicao de negacao;Clausula GROUP BYQuando precisamos fazer um agrupamento de determinado campos usamos a clausula GROUP BY, geralmente usamos em conjunto com as funcoes de agregacao usadas no SELECT. Como observacao todos os campos que foram usados no SELECT, excluindo o campo da agregacao devem esta listados no GROUP