您的位置:首页 > 数据库 > MySQL

mysql多表查询二内链接

2015-11-05 15:03 696 查看
1. 多表查询
1.1 内链接
sql多表查询连接的一种;将其中两个表的匹配结果再和第三个表进行匹配,可以节省匹配次数和提高检索速度
基本语法
inner join on

表1 inner join 表2 on 条件 inner join 表3 on 条件 ....
A a inner join B b on a.XXX=b.XXX inner join C c on c.XX=b.XX ,a是表A的别名

查询学生的所有的信息?
mysql> select
-> s.id,s.sname,s.age,s.addr,c.c_name,m.marks
-> from
-> stu_info s inner join marks_info m on s.id=m.s_id inner join class_info c on c.id=m.c_id;
+----+-------+-----+---------+---------+-------+
| id | sname | age | addr    | c_name  | marks |
+----+-------+-----+---------+---------+-------+
|  1 | Tom   |  20 | beijing | chinese |    65 |
|  1 | Tom   |  20 | beijing | english |    60 |
|  3 | Lily  |  18 | beijing | english |    70 |
|  4 | Damat |  21 | beijing | english |    90 |
|  5 | jim   |  29 | nanjing | chinese |   100 |
+----+-------+-----+---------+---------+-------+
5 rows in set (0.00 sec)


查询成绩大于70的学生名字和科目以及分数?

mysql> select
-> s.id,s.sname,c.c_name,m.marks
-> from
-> stu_info s inner join marks_info m on s.id=m.s_id inner join class_info c on c.id=m.c_id
-> where
-> m.marks > 70;
+----+-------+---------+-------+
| id | sname | c_name  | marks |
+----+-------+---------+-------+
|  4 | Damat | english |    90 |
|  5 | jim   | chinese |   100 |
+----+-------+---------+-------+
2 rows in set (0.00 sec)


本文出自 “IT5808” 博客,请务必保留此出处http://it5808.blog.51cto.com/10842703/1710021
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: