Cómo utilizar combinación cruzada, natural unirse y condición de unión en sql

SQL es compatible con varios tipos de combinaciones. El mejor para elegir en una situación dada depende del resultado que está tratando de lograr. A continuación algunos detalles para ayudarle a elegir la que uno necesita.

Cruz se unen

CROSS JOIN es la palabra clave para la básica se unen sin DÓNDE cláusula. Por lo tanto

SELECT * FROM EMPLOYEE, COMPENSACIÓN -

También se puede escribir como

SELECT * FROM EMPLEADOS COMPENSACIÓN CROSS JOIN -

El resultado es el producto cartesiano (también llamado producto vectorial) De las dos tablas de origen. CROSS JOIN rara vez se le da el resultado final que desea, pero puede ser útil como el primer paso en una cadena de operaciones de manipulación de datos que finalmente producen el resultado deseado.

Natural unirse

los unión natural es un caso especial de una combinación de igualdad. En el DÓNDE cláusula de un equicombinación, una columna de una tabla de origen se compara con una columna de una segunda tabla de origen por la igualdad. Las dos columnas deben ser del mismo tipo, la longitud, deben tener el mismo nombre.

De hecho, en unirse a un natural, todas las columnas de una tabla que tienen los mismos nombres, tipos y longitudes como las columnas correspondientes en la segunda tabla se comparan por la igualdad.

Imagínese que la tabla de compensación del ejemplo anterior tiene columnas EmpID, Salario, y Prima más bien que Emplear, Salario, y Prima. En ese caso, puede realizar unirse a un natural de la tabla de compensación con la tabla EMPLOYEE. Lo tradicional UNIRSE sintaxis sería así:

SELECT * E., C.Salary, C.BonusFROM electrónico del empleado, COMPENSACIÓN CWHERE E.EmpID = C.EmpID -

Esta consulta es un caso especial de una unión natural. los SELECCIONAR declaración devolverá unido a las filas donde E.EmpID = C.EmpID. Considera lo siguiente:

SELECT * E., C.Salary, C.BonusFROM EMPLEADOS E NATURAL JOIN COMPENSACIÓN C -

Esta consulta se unirá a las filas donde E.EmpID = C.EmpID, dónde e.salary = C.Salary, y donde E.Bonus = C.Bonus. La tabla de resultados contendrá sólo las filas donde todas columnas correspondientes coinciden. En este ejemplo, los resultados de ambas consultas serán las mismas porque la tabla empleado no contiene ni una Salario o una Prima columna.

condición de unión

UN condición de unión es como una combinación de igualdad, excepto la condición que está siendo probado no tiene que ser una igualdad (aunque puede ser). Puede ser cualquier predicado bien formada. Si se cumple la condición, entonces la fila correspondiente se convierte en parte de la tabla de resultados. La sintaxis es un poco diferente de lo que has visto hasta ahora: La condición está contenida en una EN cláusula en lugar de en una DÓNDE cláusula.

Decir que un estadístico de béisbol quiere saber qué lanzadores de la Liga Nacional han lanzado el mismo número de juegos completos como uno o más lanzadores de la Liga Americana. Esta pregunta es un trabajo para una combinación de igualdad, que también se puede expresar con la sintaxis condición de unirse a:

SELECT * FROM NACIONAL ÚNETE AMERICANON NATIONAL.CompleteGames = AMERICAN.CompleteGames -
Artículos Relacionados