La comprensión de todos los conjuntos de resultados relacionales
Este artículo puede ayudarle a entender mejor el complejo SQL que contiene multitabla une, las cláusulas relacionadas con el grupo, y las funciones de agregado, con mucho, los temas más problemáticos para la mayoría de los desarrolladores de bases de datos. También aprenderá la manera correcta de manejar excepciones base de datos e incorporarlos a la funcionalidad real de la aplicación de ColdFusion. Se aprende también de cómo incrementar el rendimiento en la memoria caché de consultas para un rápido acceso. Puede memorizar las cláusulas de SQL y Bachus formas Naur hasta que esté azul en la cara, pero aún así terminará jugando "listos-fuego-objetivo" tratando de escribir SQL complicado que realmente funciona, a menos que tenga una idea clara de cómo exactamente los procesos de SQL declaraciones. Su primer paso para visualizar claramente SQL es entender la naturaleza de los conjuntos de resultados relacionales. El código de este artículo no es compatible con el acceso, así que si quieres seguir con el listado en este artículo, ejecute los archivos de esta nueva base de datos contiene más los datos y las tablas para ayudar a ilustrar los diferentes tipos de uniones y los resultados que producen. Todos hemos añadido al título de esta parte por una razón importante que ya fue señalado en anteriores ocasiones. Todos los resultados de la consulta SQL se encuentran en la forma de una única tabla de filas y columnas. Si el resultado es el de la consulta de una sola tabla o un consulta relacional complejo, con 15 mesas, no importa-los resultados de la consulta está en la forma de una única tabla de filas y columnas. Considere el código, que produce un resultado de la consulta de relación que, como todos los resultados de la consulta, está en la forma de un sola tabla. SELECCIONAR c.CompanyID, c.CompanyName, e.Lastname, e.Firstname, e.Salary de la Compañía C INNER JOIN empleado e ON c.CompanyID = e.CompanyID Observe que el resultado de unir estos resultados los dos cuadros en una sola tabla. ¿Qué es esto? ¿No es este uno de los diagramas de Venn? Recuerdo cuando el Sr. Suber, su profesor de matemáticas de secundaria de la escuela, le dijo que usted realmente se utilizan un día en el mundo real, y se opuso? Es hora de llamarlo y pedir disculpas! Una combinación interna es la intersección de los dos conjuntos de datos contenidos en las dos tablas que se unen. ¿Por qué es esta conceptualización crítica a la escritura de SQL impecable? Debido a que ahora puede visualizar fácilmente cualquier tipo de combinación entre dos tablas: Ahora podemos fácilmente describir lo que realmente está sucediendo con cada uno de estos tipos de uniones. INNER JOIN resultado se compone de las columnas seleccionadas de ambas tablas, pero contiene sólo las filas que coinciden con los valores clave de UNETE (especificados en la cláusula ON) en ambas tablas unidas. un LEFT OUTER JOIN resultado se compone de las columnas seleccionadas de ambos cuadros, y contiene todas las filas de la izquierda-mesa auxiliar, independientemente de si alguno de ellos coinciden con los valores clave de UNETE en el lado derecho del cuadro. Las columnas de la consulta seleccionada de la tabla lateral izquierdo contienen los datos de esta tabla. Para cada fila en el resultado de la consulta, si un JOIN valor de la clave de la izquierda-mesa auxiliar partidos un JOIN valor de la clave de la derecha-mesa auxiliar, las columnas de la consulta seleccionada de la tabla lateral derecha contienen datos de la columna de este cuadro, si no , las columnas contienen valores nulos. SELECCIONAR c.CompanyID, c.CompanyName, e.Lastname, e.Firstname, e.Salary de la Compañía c LEFT OUTER JOIN empleado e ON c.CompanyID = e.CompanyID A RIGHT OUTER JOIN resultado se compone de las columnas seleccionadas de ambos cuadros, y contiene todas las filas de la tabla lateral derecho, independientemente de si alguna de ellas coincide con la UNETE valores clave en el lado izquierdo del cuadro. Las columnas de la consulta seleccionada de la tabla lateral derecha contiene los datos de esta tabla. Para cada fila en el resultado de la consulta, si un JOIN valor de la clave de la mesa del lado derecho los partidos un JOIN valor de la clave de la izquierda-mesa auxiliar, las columnas de consulta seleccionado de la izquierda-mesa auxiliar contienen datos de la columna de este cuadro, si no , las columnas contienen valores nulos. A FULL OUTER JOIN resultado se compone de las columnas seleccionadas de ambos cuadros, y contiene todas las filas de ambas tablas, independientemente de si alguno de ellos coinciden con sus valores clave de UNETE. Para cada fila resultado de la consulta extraído de la izquierda-mesa auxiliar, si el valor UNETE clave de la tabla lateral izquierdo no tiene partido en el lado derecho del cuadro, fila resultado de la consulta que contiene valores nulos en las columnas seleccionadas de la derecha de la tabla . Asimismo, en una fila de resultado de la consulta extraído de la tabla lateral derecho, si el valor de clave de UNETE A la derecha, mesa auxiliar no tiene partido en el lado izquierdo del cuadro, fila resultado de la consulta que contiene valores nulos en las columnas seleccionadas de la izquierda mesa auxiliar. Si una fila de resultado de la consulta se unen a los valores de clave partido entre la izquierda y de derecha mesillas, los datos de ambas tablas está contenida en esa fila resultado de la consulta. SELECCIONAR c.CompanyID, c.CompanyName, e.Lastname, e.Firstname, e.Salary de la Compañía C RIGHT OUTER JOIN empleado e ON c.CompanyID = e.CompanyID SELECCIONAR c.CompanyID, c.CompanyName, e.Lastname, e.Firstname, e.Salary de la Compañía C FULL OUTER JOIN empleado e ON c.CompanyID = e.CompanyID Bueno, ahora se puede visualizar con precisión los distintos tipos de uniones y se sienten más cómodos con la sintaxis SQL que los crea. Eso es genial! Pero en el mundo real, a menudo frente a unirse a más de dos mesas juntas en una consulta relacional única. ¿Cómo vas a escribir el SQL complicado sumará a siete tablas y hacerlo bien la primera vez, cada vez? En realidad, es un pedazo de pastel. De hecho, escribir una consulta que realiza una combinación de INNER, LEFT OUTER, RIGHT OUTER y FULL OUTER uniones entre 15 mesas en realidad no es más difícil de escribir que una consulta que contiene un interior único empalme entre dos tablas. El truco es todo en la manera de visualizar it! SELECCIONAR c.CompanyID, c.CompanyName, e.Lastname, e.Firstname, e.Salary, d.FullName, d.Relationship de la Compañía C INNER JOIN empleado e ON c.CompanyID = e.CompanyID INNER JOIN Dependiente d E. ON, SSN = d.SSN Para comprender exactamente lo que usted puede y no puede hacer con SQL, primero debe comprender el orden en que los procesos de SQL de las cláusulas de una instrucción SQL. Usted puede utilizar el código como un ejemplo de la orden de que SQL siguiente. C.CompanyName SELECT, e.LastName + ',' + e.FirstName AS EmployeeName, e.Salary, count (*) como NumDependants de la Compañía C INNER JOIN empleado e ON c.CompanyID = e.CompanyID INNER JOIN Dependiente d ON y . SSN = d.SSN e.DateOfBirth DONDE <'01 / GRUPO 01/82 "POR c.CompanyName, e.LastName, e.FirstName, HABIENDO e.Salary Conde (*)> = 2 ORDER BY EmployeeName ASC un artículo presentado por Daniel Carlson Descargo de responsabilidad:Nuestro sitio web no es responsable por el contenido de este artículo. Webarticles es un recurso de información gratuito. Importante: Este artículo "La comprensión de todos los conjuntos de resultados relacionales", fue traducida por un software automático. Sentimos pena por los errores de ortografía que pueda haber ocurrido. Gracias por su comprensión.
|
|||||
| Online: 306 users browsing the articles directory |
|
|