Latest web development tutorials

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.w3big.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

SELECT Websites.id, Websites.name, access_log.count, access_log.date
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