¿Puede decirme si la unión interna y la combinación equitativa son iguales o no?¿La combinación interna es igual que la combinación equi?
Respuesta
Una "combinación interna" no es lo mismo que una "combinación equitativa" en términos generales.
'equi-join' significa unir tablas usando el operador de igualdad o equivalente. Todavía llamaría a una combinación externa una 'combinación equitativa' si solo usa igualdad (otros pueden estar en desacuerdo).
'inner join' se opone a 'outer join' y determina cómo unir dos conjuntos cuando no hay un valor coincidente.
Encontré este artículo sobre esto, supongo que responde a su pregunta.
No están relacionados.
Casi todos se unen es una combinación de igualdad, porque la condición para hacer coincidir filas se basa en la igualdad de dos valores: uno de cada una de las mesas que están unidos . Entonces eso es lo que lo hace una equijoin: la condición ON es igualdad. Esto incluye combinaciones internas y los tres tipos de uniones externas.
Uniones internas, por otro lado, pueden ser según la igualdad para unir filas, o en alguna otra condición completamente. Si es no una equijoin, entonces usualmente es llamado unión theta, aunque para ser preciso, una equijoin es solo una de las posibles uniones theta; otro theta se une a menos de, menos de igual, etc., como operador de comparación .
la respuesta es no.
una equicombinación se utiliza para que coincida con dos columnas de dos tablas usando operador explícito =:
Ejemplo:
select *
from table T1, table2 T2
where T1.column_name1 = T2.column_name2
una combinación interna se utiliza para obtener la cruz producto entre dos tablas, combinando todos los registros de ambas tablas. Para obtener el derecho de Resultados se puede utilizar una combinación de igualdad o uno unen naturales (nombres de columna entre las tablas deben ser los mismos)
Usando equicombinación (explícitos e implícitos)
select *
from table T1 INNER JOIN table2 T2
on T1.column_name = T2.column_name
select *
from table T1, table2 T2
where T1.column_name = T2.column_name
o el uso de reunión natural
select *
from table T1 NATURAL JOIN table2 T2
HTH
Si tiene que salir hecho una diferencia, entonces, creo que aquí está .I probó con DB2. En 'equi join', debe seleccionar la columna de comparación de la tabla que se va a unir, en la combinación interna no es obligatorio hacerlo.Ejemplo: -
Select k.id,k.name FROM customer k
inner join dealer on(
k.id =dealer.id
)
aquí las filas resultantes son sólo dos columnas de las filas
id name
pero creo que en equi unirse a usted tiene que seleccionar las columnas de otra mesa también
Select k.id,k.name,d.id FROM customer k,dealer d
where
k.id =d.id
y esto dará como resultado filas con tres columnas, no hay forma de que no pueda tener la columna de distribuidores no deseados aquí (incluso si no la quiere), las filas se verán como
id(from customer) name(from Customer) id(from dealer)
Puede ser que esto no sea cierto para su pregunta. Pero podría ser una de las principales diferencias.
¿Qué quiere decir con columna comparada no deseada? Si no selecciona 'd.id' en EqJoin, entonces también funcionará. – UnKnown
En pocas palabras: una equicombinación es un tipo posible de interior-une
Para una explicación más en profundidad:
un centro de la unión es una unión que devuelve sólo las filas de tablas unidas donde se cumple una cierta condición. Esta condición puede ser de igualdad, lo que significa que tendríamos un equi-join; si la condición no es la igualdad, que puede ser una falta de igualdad, mayor que, menor que, entre, etc., tenemos un nonequi-join, llamado con mayor precisión theta-join.
Si no queremos que tales condiciones que deben necesariamente cumplirse, podemos tener une exterior (todas las filas de todas las tablas devueltas), Izquierda unirse a (todas las filas de la tabla de la izquierda, aparecerán sólo juego de mesa de la derecha), a la derecha join (todas las filas de la tabla derecha devueltas, solo coinciden para la tabla de la izquierda).
La respuesta es No, este es el tipo y simple para los lectores.
combinación interna puede tener igualdad (=) y otros operadores (como <,>,> <) en la condición de unión.
Equi join solo tienen el operador de igualdad (=) en la condición de unión.
Equi unirse puede haber una combinación interna, Unión externa izquierda, derecha Combinación externa
La respuesta es sí, pero como un conjunto de resultados. Entonces aquí hay un ejemplo.
considerar tres tablas:
órdenes (ord_no, purch_amt, ord_date, customer_id, salesman_id)
cliente (customer_id, cust_name, la ciudad, el grado, salesman_id)
vendedor (salesman_id, nombre, ciudad, comisión)
Ahora si tengo una consulta como esta:
Encuentra el deta ils de una orden.
El uso de combinación interna:
SELECT * FROM orders a INNER JOIN customer b ON a.customer_id=b.customer_id
INNER JOIN salesman c ON a.salesman_id=c.salesman_id;
Usando EQUI JOIN:
SELECT * FROM orders a, customer b,salesman c where
a.customer_id=b.customer_id and a.salesman_id=c.salesman_id;
Ejecutar ambas consultas. Obtendrá el mismo resultado.
Haciendo su pregunta No hay diferencia en la salida de equijoin y unión interna. Pero puede haber una diferencia en las ejecuciones internas de ambos tipos.
- 1. SQL combinación interna sintaxis
- 2. MySql combinación interna con la cláusula WHERE
- 3. mysql opuesto a la combinación interna
- 4. combinación interna Vs función escalar
- 5. Por qué es MySQL consulta, combinación izquierda 'considerablemente' más rápido que mi combinación interna
- 6. SQL Server con combinación interna
- 7. PostgreSQL eliminar con combinación interna
- 8. combinación interna con varias tablas
- 9. Hibernate combinación interna usando hql
- 10. MySQL: combinación interna vs Dónde
- 11. La combinación de combinación izquierda/interna de Mysql no funciona como se esperaba
- 12. incluir y donde la causa predicado combinación izquierda en lugar de combinación interna
- 13. C# DataTable combinación interna con columnas dinámicas
- 14. SQL ¿Combinación interna con 3 tablas?
- 15. opuestos de una combinación interna de consulta
- 16. Consulta SQL para combinación interna con Seleccionar
- 17. combinación interna en LINQ a las entidades
- 18. doble combinación interna en el acceso db
- 19. combinación interna con count() en tres mesas
- 20. rieles combinación interna combinada con la gema geocodificación
- 21. SQL combinación interna en determinados estados
- 22. Ormlite combinación interna en tres mesas
- 23. Diferencia entre la combinación izquierda y la combinación externa izquierda
- 24. Diferencias en la combinación de SQL
- 25. Django ForeignKey con nula = True, combinación interna y externa izquierda
- 26. Combinación de fusiones en una sola combinación
- 27. NHibernate 3 LINQ combinación interna problema con tres saltos: NotSupportedException
- 28. consulta con subconsulta recuento, combinación interna y el grupo
- 29. ¿Cuál es la diferencia entre una combinación hash y una combinación merge (RDBMS de Oracle)?
- 30. combinación interna de tablas de datos en C#
Entonces, ¿no es EQJoin une interna? – UnKnown