sql server - tablas - Frente a una consulta de unión interna
unir consultas horizontalmente sql (5)
Esto debería funcionar mejor que la left join...is null
versión left join...is null
. Vea here y here para las comparaciones.
select t1.id, t1.name
from table1 t1
where not exists(select null from table2 t2 where t2.id = t1.id)
alguien puede ayudarme a escribir sql para un scernerio como este:
Table 1
2 columns: ID, Name
Table 2
2 columns: ID, Name
Quiero una consulta para mostrar los nombres de la Tabla 1 que no están en la tabla 2. Por lo tanto, filtrar todos los nombres en la tabla 1 que se encuentran en la tabla 2 es la consulta resultante. Use ID para el filtro, no el nombre.
Esto me ayudará en lo que estoy tratando de hacer. Gracias por adelantado
Usa esta consulta
select
t1.*
from table1 t1
left outer join table2 t2
on t1.id=t2.id
where t2.id is null
esto funciona uniendo todo en t1 a lo que exista en t2. la cláusula where filtra todos los registros que no existen en t2.
SELECT * FROM table1
WHERE table2.id NOT IN (SELECT id FROM table2)
SELECT Table1.ID, Table1.Name, Table2.ID
FROM Table1 LEFT OUTER JOIN Table2 ON Table1.ID = Table2.ID
WHERE Table2.ID IS NULL
Creo que debería hacerlo.
Select * from table1
left join table2 on table1.id = table2.id
where table2.id is null