*   >> Lectura Educación Artículos >> science >> programación

Mysql: Comprensión relacional Tables

+ -------- + ---- + -------- + | 1 | A | 1 | X || 2 | B | 2 | Y || 3 | C | 3 | Z | + ---- + -------- + ---- + -------- + 3 rows in set (0.00 sec)


Tome un momento para mirar hacia atrás en el resultado del producto cartesiano, y verá que aparecen los tres filas devueltas por el ejemplo anterior, pero las otras filas se han descartado.


Únete Tipos

Una combinación que implica una condición en la que se especifican las columnas de dos tablas como igual se conoce como un equijoin o unirse interior.

Usted aprenderá acerca de otros tipos de combinaciones en la lección 12, "rel =" "class =" nofollow exlnk "target =" _ blank "Creación une avanzada."



claves externas

Incluso si su definición de la tabla tiene una clave externa definida (usted aprenderá cómo hacer esto en la Lección 17), debe incluir una cláusula WHERE que especifica la condición de unión. La relación que se utilizará para una unión no se almacena en el nivel de base de datos.


Junto a varias tablas

Usted puede unirse a más de dos tablas en una consulta especificando todos los nombres de tabla en el DE cláusula. El siguiente ejemplo utiliza las relaciones entre los órdenes, ORDER_LINES y tablas productos para producir un historial de pedidos para un cliente en particular:

 mysql> SELECT o.order_id, o.order_date, l.quantity, p.name -> DESDE órdenes o, ORDER_LINES l, productos p -> DONDE o.order_id = l.order_id -> Y p.product_code = l.product_code -> Y o.customer_code = 'SCICORP' -> ORDER BY o.

order_date; + - -------- + ------------- + ---------- + ---------------- - + | order_id | order_date | cantidad | Nombre | + ---------- + ------------- + ---------- + ----------- ------- + | 3 | 2006-01-23 | 16 | Pequeño producto || 4 | 2006-02-02 | 16 | Pequeño producto || 4 | 2006-02-02 | 10 | Gran producto || 5 | 02/05/2006 | 10 | Producto Mediana || 5 | 02/05/2006 | 10 | Gran producto | + ---------- + ------------- + ---------- + ---------- -------- + 5 rows in set (0.

00 sec)


Para realizar una equijoin en múltiples mesas, una condición en la cláusula WHERE deben especificar una relación de cada mesa a otra mesa . En este ejemplo, existen relaciones entre órdenes y ORDER_LINES, y entre ORDER_LINES y productos.

Cada fila de ORDER_LINES añade la cantidad especificada de un producto a un pedido. La columna order_id en ORDER_LINES une a esa mesa a las órdenes, y la columna de product_code

Page   <<  [1] [2] [3] [4] [5] >>

Copyright © 2008 - 2016 Lectura Educación Artículos,https://lectura.nmjjxx.com All rights reserved.