文档分值:3

SQL语言基础 >>> SQL语言基础 >>> 查询

课程目录

修改
增加
删除
查询
排序
查看
join查询

left join

以左表为基准,返回左表中所有记录,以及右表中联结字段相等的记录。

抽象SQL 语句:

select    *    from    A    left    join    B    on    A.column_name    =    B.column_name;

其中 A 表作为左表,B 表作为右表,A 表所有记录都显示,B 表只会显示符合搜索条件的值(A.column_name = B.column_name),B 表记录不足的地方均为 Null

left join 示例:

  • 左表为:doc 表,右表为 admin 表
  • 其中 doc 表的 uid 字段 代表 admin 表的 id 字段

示例SQL 语句:

select    uid,cid,title    from    doc    left    join    admin    on    doc.uid    =    admin.id;

doc表中的 uid 值有:
0,1,13,14

admin 表中的 id 值有:
1,7,10,11,12,13,14

显示结果:

可以看到 doc 表 uid = 0 的记录也显示出来了

right join

与 left join 相反,以右表为基准,显示右表中的所有记录,左表只显示符合搜索条件的记录

right join 示例:

示例sql 语句:

select    id,name    from    doc    right    join    admin    on    doc.uid    =    admin.id;

显示结果只有106条记录:

+----+--------+
|    id    |    name            |
+----+--------+
|        1    |    gsh                |
|        1    |    gsh                |
|        1    |    gsh                |
|        1    |    gsh                |
|        1    |    gsh                |
|        1    |    gsh                |
|        1    |    gsh                |
|        1    |    gsh                |
|        1    |    gsh                |
...
...
|    14    |    zzl005    |
|    14    |    zzl005    |
|    14    |    zzl005    |
|    14    |    zzl005    |
|    14    |    zzl005    |
|    14    |    zzl005    |
|    14    |    zzl005    |
|    14    |    zzl005    |
|    14    |    zzl005    |
|    14    |    zzl005    |
|    14    |    zzl005    |
|    14    |    zzl005    |
|    14    |    zzl005    |
+----+--------+
106    rows    in    set    (0.00    sec)

inner join

抽象SQL 语句:

select    *    from    A    inner    join    B    on    A.column_name    =    B.column_name;

显示结果:

只显示符合 A.column_name = B.column_name;记录的值

inner join 示例:

示例sql 语句:

select    uid,cid,title    from    doc    inner    join    admin    on    doc.uid    =    admin.id;

显示结果只有102条:

inner-join

[ 该条目创建时间:2016-06-24 15:52:08 ]