zoukankan      html  css  js  c++  java
  • sql 表的连接 inner join、full join、left join、right join、natural join

    一、内连接-inner jion :

    SELECT * FROM table1 INNER JOIN table2 ON table1.field1 compopr table2.field2

    INNER JOIN 运算可分为以下几个部分:

    部分   说明  

    table1, table2   记录被组合的表的名称。  

    field1, field2   被联接的字段的名称。若它们不是由数字构成的,则这些字段必须为相同的数据类型并包含同类数据,但它们无须具有相同的名称。  

    select s.name,m.mark from student s,mark m where s.id=m.studentid
    select s.name,m.mark from student s inner join mark m on s.id=m.studentid

    二、左连接-left join:

     连接通常可以在select语句的from子句或where子句中建立,其语法格式为:

            from join_table join_type join_table

            [on (join_condition)]

            其中join_table指出参与连接操作的表名,连接可以对同一个表操作,也可以对多表操作,对同一个表操作的连接称为自连接, join_type 为连接类型,可以是left join 或者outer join 或者inner join 。

            on (join_condition)用来指连接条件,它由被连接表中的列和比较运算符、逻辑运算符等构成。

    左连接是把左边的表的元组全部选出来:

    select s.name,m.mark from student s left join mark m on s.id=m.studentid

    三、右连接-right join:

    连接通常可以在select语句的from子句或where子句中建立,其语法格式为:

     from join_table join_type join_table

            [on (join_condition)]

    其中join_table指出参与连接操作的表名,连接可以对同一个表操作,也可以对多表操作。对同一个表操作的连接称为自连接

    on (join_condition)用来指连接条件,它由被连接表中的列和比较运算符、逻辑运算符等构成。

    右连接就是把右边表的数据全部取出,不管左边的表是否有匹配的数据:

    select s.name,m.mark from student s right join mark m on s.id=m.studentid

    四、全连接-full join:

    使用格式如上面的用法  在上面已经说明

    把左右两个表的数据都取出来,不管是否匹配:

    select s.name,m.mark from student s full join mark m on s.id=m.studentid

     五、自然连接-NATURAL JOIN

    在俩个表中间只有一个共同项   同时也是我们需要匹配的项时  

    我们可以直接使用自然链接

    FROM dept_emp d NATURAL JOIN employees e

    不需要自己添加匹配条件

  • 相关阅读:
    Linux kill -9 和 kill -15 的区别
    redis 学习笔记之(五)redis-cli 命令
    专题(十四)awk
    Linux 学习笔记之(十一)SSH
    Linux 学习笔记之(十)查看文件
    rust 读写文件
    rust 显示本机ip
    rust error: linking with `link.exe` failed: exit code: 1181(未解决)
    Building a Concurrent Web Server with Async Rust
    Asynchronous Programming in Rust
  • 原文地址:https://www.cnblogs.com/52why/p/7634321.html
Copyright © 2011-2022 走看看