Consulta de combinación de MySQL (interior, izquierda, derecha) (consulta de varias tablas)

Uno, consulta de conexión MySQL

Estructura gramatical de la unión interna

SELECT columna (el campo a consultar) FROM table1 (el nombre de la tabla que debe conectarse para la consulta) INNER JOIN (conexión interna) table2 ON condiciones de conexión

Nota:
1) unión: se utiliza para consultar datos de dos o más tablas según la relación entre las columnas de estas tablas
2) se utiliza para consultar registros de datos que cumplen ciertas condiciones en dos o más tablas al mismo tiempo
3) sintaxis Utilice la palabra clave INNER JOIN para conectar varias tablas y utilice ON para establecer la condición de conexión
4) es el método de conexión de tabla predeterminado del sistema, puede omitir la palabra clave INNER
5) varias tablas admiten el uso continuo de INNERJOIN, se recomienda que no más de tres tablas
6) ON La última condición es igual a 1, que es verdadera, de lo contrario se informará un error.
7) Si la condición de conexión es un campo después de ON, el tipo de campo debe ser el mismo

Inserte la descripción de la imagen aquí

Operación de ejemplo
  • Hay dos tablas a continuación, los nombres de las tablas y su contenido son los siguientes:
第一张表:
mysql> select * from stu;                                                             
+----+---------+-------+------+------+
| id | name    | score | hoby | dizi |
+----+---------+-------+------+------+
|  1 | tianxia | 78.00 |    2 | nj   |
|  2 | diyi    | 89.00 |    1 | nj   |
|  3 | wode    | 55.00 |    1 | NULL |
|  4 | tade    | 57.00 |    3 | NULL |
|  5 | nida    | 66.00 |    1 | nj   |
|  6 | liushou | 55.00 |    3 |      |
|  7 | xiaoer  | 69.00 |   10 | bj   |
|  8 | dage    | 78.00 |    8 | tj   |
+----+---------+-------+------+------+
第二张表:
mysql> select * from hob;
+----+-----------+
| id | hoby     |
+----+-----------+
|  1 | 篮球      |
|  2 | 足球      |
|  3 | 乒乓球    |
|  4 | 羽毛球    |
|  5 | 台球      |
|  6 | 网球      |
+----+-----------+
6 rows in set (0.00 sec)
  • Conecte los campos hoby de las dos tablas a través de una combinación interna para consultar
得到的结果如下:
mysql> select a.id,a.name,b.hooby from stu as a inner join hob as b on a.hoby=b.id;
+----+---------+-----------+
| id | name    | hooby     |
+----+---------+-----------+
|  1 | tianxia | 足球      |
|  2 | diyi    | 篮球      |
|  3 | wode    | 篮球      |
|  4 | tade    | 乒乓球    |
|  5 | nida    | 篮球      |
|  6 | liushou | 乒乓球    |
+----+---------+-----------+
6 rows in set (0.00 sec)

Dos, consulta de combinación izquierda de MySQL

Estructura gramatical de la conexión izquierda

SELECCIONAR columna (el campo que se va a consultar) FROM table1 (el nombre de la tabla que debe unirse a la consulta) LEFT JOIN (combinación izquierda) table2 ON condiciones de combinación

Nota:
1) Suponga que hay dos tablas A y B. La consulta de combinación izquierda significa que la tabla A está a la izquierda y la tabla B se desliza a la derecha. La tabla A y la tabla B son registros relacionados a través de una condición, y la tabla B coincide con la tabla A.
2) Se utiliza para consultar todo el contenido de una tabla y los registros que cumplen con las condiciones de otra tabla, es decir, que coinciden con todos los registros de la tabla de la izquierda y los registros elegibles de la tabla de la derecha.
3) Utilice la palabra clave LEFT JOIN en la sintaxis para unir la tabla y utilice ON establece la condición de conexión
4) Los campos que no coinciden se complementan con NULL de forma predeterminada
Inserte la descripción de la imagen aquí

Operación de ejemplo
  • Conecte los campos hoby de las dos tablas a través de la consulta de combinación izquierda
得到结果如下:
mysql> select a.id,a.name,b.hooby from stu as a left join hob as b on a.hoby=b.id;   
+----+---------+-----------+
| id | name    | hooby     |
+----+---------+-----------+
|  2 | diyi    | 篮球      |
|  3 | wode    | 篮球      |
|  5 | nida    | 篮球      |
|  1 | tianxia | 足球      |
|  4 | tade    | 乒乓球    |
|  6 | liushou | 乒乓球    |
|  7 | xiaoer  | NULL      |
|  8 | dage    | NULL      |
+----+---------+-----------+
8 rows in set (0.00 sec)

Tres, consulta de combinación derecha de MySQL

Estructura gramatical de la conexión correcta.

SELECT columna (el campo que se va a consultar) FROM table1 (el nombre de la tabla que se va a consultar) RIGHT JOIN (left join) table2 ON condición de conexión
Nota:
1) Use la palabra clave RIGHT JOIN para unir la tabla en la sintaxis, y use ON para establecer la condición de conexión
2 ) Se utiliza para consultar todo el contenido de una tabla y los registros que cumplen las condiciones de otra tabla, es decir, coinciden con todos los registros de la tabla de la derecha y los registros elegibles de la tabla de la izquierda.
3) Los campos no coincidentes se complementan con NULL de forma predeterminada

Operación de ejemplo
  • Conecte los campos hoby de las dos tablas a través de la consulta de combinación izquierda
mysql> select a.id,a.name,b.hooby from stu as a right join hob as b on a.hoby=b.id;
+------+---------+-----------+
| id   | name    | hooby     |
+------+---------+-----------+
|    1 | tianxia | 足球      |
|    2 | diyi    | 篮球      |
|    3 | wode    | 篮球      |
|    4 | tade    | 乒乓球    |
|    5 | nida    | 篮球      |
|    6 | liushou | 乒乓球    |
| NULL | NULL    | 羽毛球    |
| NULL | NULL    | 台球      |
| NULL | NULL    | 网球      |
+------+---------+-----------+
9 rows in set (0.00 sec)

Supongo que te gusta

Origin blog.csdn.net/wulimingde/article/details/109134307
Recomendado
Clasificación