Porque usar ON e não IN?
Não entendi o que são esses c.id p.
Por que tem esses pontos?
Porque usar ON e não IN?
Não entendi o que são esses c.id p.
Por que tem esses pontos?
Olá Luana, tudo bem com você?
As cláusulas ON
e IN
são usadas em diferentes contextos dentro do SQL, sendo: A cláusula ON
é utilizada especificamente em operações de JOIN
para especificar a condição de junção entre duas tabelas. Por exemplo, quando queremos juntar dados de duas tabelas baseadas em uma coluna que elas têm em comum, usamos ON
para definir essa condição de correspondência.
Já a cláusula IN
é usada para especificar um filtro dentro de uma cláusula WHERE
, permitindo que a seleção de linhas onde um valor de uma coluna corresponde a qualquer valor dentro de uma lista ou subconsulta. Por exemplo, quando queremos selecionar todos os clientes que fizeram pedidos em janeiro, e para isso, usamos o IN
para filtrar esses IDs específicos de uma subconsulta.
Quanto o que são "c." e "p.", eles são apelidos (aliases) para as tabelas. Quando temos várias tabelas envolvidas em uma consulta, especialmente em joins, pode ser muito útil dar apelidos (aliases) às tabelas para simplificar a referência às colunas dessas tabelas. No exemplo da aula temos:
SELECT c.nome, p.id, p.datahorapedido
FROM clientes c
INNER JOIN pedidos p
ON c.id = p.idcliente;
Aqui, c
e p
são aliases para as tabelas clientes
e pedidos
, respectivamente. Então, c.id
refere-se à coluna id
da tabela clientes
, e p.idcliente
refere-se à coluna idcliente
da tabela pedidos
. Os pontos são usados para separar o nome do alias da tabela e o nome da coluna que estamos acessando.
Conte com o apoio do Fórum na sua jornada. Espero ter ajudado. Fico à disposição. Abraços e bons estudos!