ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mysql 连接查询

2021-07-10 10:05:45  阅读:176  来源: 互联网

标签:班级 name 连接 查询 +----+--------------+------------+ student mysql id class


连接语法

select 字段
from 表名1,表名2
where 表名1.key =  表名2.key
[group by 字段]
[having 条件]
[order by 字段 [desc|asc]]
select 字段...
from 表名1
【连接类型】join 表名2 on 表名1.key = 表名2.key
[where 条件]
[group by 条件]
[having 条件]
[order by 字段 [desc|asc]

等值连接

查询学生id,名字,班级名称 方法一:

SELECT
    student.id,
    student.name student_name,
    class.name class_name 
FROM
    student,
    class 
WHERE
    student.class_id = class.id;
+----+--------------+------------+
| id | student_name | class_name |
+----+--------------+------------+
|  1 | 张三         | 班级1      |
|  2 | 王五         | 班级1      |
|  3 | 李四         | 班级1      |
|  4 | 小红         | 班级2      |
|  5 | 小花         | 班级2      |
|  6 | huyongjian   | 班级3      |
|  7 | Join         | 班级3      |
+----+--------------+------------+

方法二:

SELECT
    student.id,
    student.name student_name,
    class.name class_name 
FROM
    student
    INNER JOIN class ON student.class_id = class.id;
+----+--------------+------------+
| id | student_name | class_name |
+----+--------------+------------+
|  1 | 张三         | 班级1      |
|  2 | 王五         | 班级1      |
|  3 | 李四         | 班级1      |
|  4 | 小红         | 班级2      |
|  5 | 小花         | 班级2      |
|  6 | huyongjian   | 班级3      |
|  7 | Join         | 班级3      |
+----+--------------+------------+

左连接

SELECT
    student.`id`,
    student.`name` student_name,
    class.`name` class_name 
FROM
    student
    LEFT JOIN class ON student.`class_id` = class.`id`;
+----+--------------+------------+
| id | student_name | class_name |
+----+--------------+------------+
|  1 | 张三         | 班级1      |
|  2 | 王五         | 班级1      |
|  3 | 李四         | 班级1      |
|  4 | 小红         | 班级2      |
|  5 | 小花         | 班级2      |
|  6 | huyongjian   | 班级3      |
|  7 | Join         | NULL       |
+----+--------------+------------+
7 rows in set (0.00 sec)

右连接

SELECT
    student.`id`,
    student.`name` student_name,
    class.`name` class_name 
FROM
    student
    RIGHT JOIN class ON student.`class_id` = class.`id`;
+------+--------------+------------+
| id   | student_name | class_name |
+------+--------------+------------+
|    3 | 李四         | 班级1      |
|    2 | 王五         | 班级1      |
|    1 | 张三         | 班级1      |
|    7 | Join         | 班级2      |
|    6 | huyongjian   | 班级2      |
|    5 | 小花         | 班级2      |
|    4 | 小红         | 班级2      |
| NULL | NULL         | 班级3      |
+------+--------------+------------+
8 rows in set (0.00 sec)

标签:班级,name,连接,查询,+----+--------------+------------+,student,mysql,id,class
来源: https://www.cnblogs.com/hu308830232/p/14993131.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有