conexión de SQL (JOIN)
SQL se unen para la línea a partir de dos o más tablas juntos.
SQL JOIN
SQL JOIN cláusula de las filas a partir de dos o más tablas juntos, sobre la base de los campos comunes entre las tablas.
El tipo más común de JOIN: SQL INNER JOIN (combinación sencilla). SQL INNER JOIN JOIN devuelve todas las filas que satisfacen las condiciones de varias tablas.
La base de datos de demostración
En este tutorial, vamos a utilizar la base de datos de ejemplo w3big.
La siguiente es una selección "Sitios Web" datos de la tabla:
+----+--------------+---------------------------+-------+---------+ | id | name | url | alexa | country | +----+--------------+---------------------------+-------+---------+ | 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘宝 | https://www.taobao.com/ | 13 | CN | | 3 | 本教程 | http://www.w3write.com/ | 4689 | CN | | 4 | 微博 | http://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | | 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND | +----+---------------+---------------------------+-------+---------+
Aquí está la tabla de datos de registro de acceso web "access_log":
mysql> SELECT * FROM access_log; +-----+---------+-------+------------+ | aid | site_id | count | date | +-----+---------+-------+------------+ | 1 | 1 | 45 | 2016-05-10 | | 2 | 3 | 100 | 2016-05-13 | | 3 | 1 | 230 | 2016-05-14 | | 4 | 2 | 10 | 2016-05-14 | | 5 | 5 | 205 | 2016-05-14 | | 6 | 4 | 13 | 2016-05-15 | | 7 | 3 | 220 | 2016-05-15 | | 8 | 5 | 545 | 2016-05-16 | | 9 | 3 | 201 | 2016-05-17 | +-----+---------+-------+------------+ 9 rows in set (0.00 sec)
Tenga en cuenta que "Sitios Web" mesa "id" punto de la columna "access_log" en el campo "site_id" mesa. Las dos tablas anteriores mediante la vinculación de la columna "site_id".
Entonces, si corremos la siguiente instrucción SQL (incluyendo INNER JOIN):
Ejemplos
de los sitios web
INNER JOIN access_log
EN Websites.id = access_log.site_id;
Ejecutar el SQL encima de los resultados de salida son los siguientes:
Diferente SQL JOIN
Antes de continuar para explicar ejemplo, hagamos una lista de los diferentes tipos de combinación de SQL que puede utilizar:
- Combinación interna: Si la tabla tiene al menos un partido, y luego volver fila
- LEFT JOIN: incluso si no hay ninguna coincidencia en la tabla de la derecha, también devuelve todas las filas de la tabla de la izquierda
- RIGHT JOIN: incluso si no hay una tabla de coincidencias a la izquierda, también devuelve todas las filas de la tabla derecha
- COMPLETO JOIN: Sólo una de las mesas hay una coincidencia, devuelve la fila