mysql多表查询二内链接

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)


你可能感兴趣的:(mysql内链接)