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

Mysql: Comprensión relacional Tables

esas pequeñas se incluyen en la base de datos de la muestra, t1 y t2 llamado. Estas tablas contienen sólo unas pocas filas de demostrar joins.First, familiarizarse con sus datos:

 mysql> SELECT * FROM t1; + ---- + -------- + | Identificación | carta | + ---- + -------- + | 1 | A || 2 | B || 3 | C | + ---- + -------- + 3 rows in set (0.01 sec) mysql> SELECT * FROM t2; + ---- + -------- + | Identificación | carta | + ---- + -------- + | 1 | X || 2 | Y || 3 | Z | + ---- + -------- + 3 rows in set (0.

00 sec)


Ahora realizar una combinación de las dos tablas, sin condición especificada

 mysql> SELECT * -> FROM t1, t2; + ---- + -------- + ---- + -------- + | Identificación | carta | Identificación | carta | + ---- + ---- --- ---- + + -------- + | 1 | A | 1 | X || 2 | B | 1 | X || 3 | C | 1 | X || 1 | A | 2 | Y || 2 | B | 2 | Y || 3 | C | 2 | Y || 1 | A | 3 | Z || 2 | B | 3 | Z || 3 | C | 3 | Z | + ---- + -------- + ---- + -------- + 9 rows in set (0.00 sec) 


Como puede ver, cada fila de t1 se combina con cada fila de t2.

Tres filas de cada tabla producen una combinación, lo que resulta en un total de nueve pares de registros. Esto se conoce como un producto cartesiano, y rara vez es el resultado de lo que quieras de una consulta.


SELECT *

Aviso cómo el SELECT * notación en la anterior ejemplo causó todas las columnas de ambas tablas que se devuelva. Como resultado, se devolvieron dos columnas llamado ID y dos letras con nombre. Estas columnas pertenecen a las tablas en el orden indicado en la cláusula FROM.



El número total de filas devueltas es el producto del número de filas de cada tabla. Usted puede imaginar cuán grande es el conjunto de datos resultante puede crecer cuando las tablas individuales contienen un gran número de las propias filas.


Cruz se une

Un producto cartesiano es a veces conocido como una combinación cruzada.


Adición de una condición WHERE a esta unirse instruye a MySQL para filtrar los pares de registros para los que no existe una relación entre los datos.

Se trata de la mayor parte de las filas que se devuelven en un producto cartesiano. Suponiendo una relación entre la columna id en cada mesa, la unión y luego produce el siguiente resultado:

 mysql> SELECT * -> FROM t1, t2 -> DONDE t1.id = t2.id; + --- - + -------- + ---- + -------- + | Identificación | carta | Identificación | carta | + ---- 

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

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