zoukankan      html  css  js  c++  java
  • SQL join的介绍

    学员表

    SELECT * FROM tb_address;

    SELECT * FROM tb_student

    1.JOIN关联两个表数据,将匹配数据展示,数据无匹配值则不展示

    注释:INNER JOIN与JOIN是相同

    SELECT
    *
    FROM
    tb_student stu
    JOIN tb_address address
    ON stu.`id` = address.`stu_id` ;

     2.LEFT JOIN返回左表的全部行和右表满足ON条件的行,如果左表的行在右表中没有匹配,那么这一行右表中对应数据用NULL代替。

    举例如下 从 student角度查询对应的address数据,student信息全部展示,没有对应address值展示null

    SELECT 

    *
    FROM
    tb_student stu
    LEFT JOIN tb_address address
    ON stu.`id` = address.`stu_id` ;

    3.RIGHT JOIN返回右表的全部行和左表满足ON条件的行,如果右表的行在左表中没有匹配,那么这一行左表中对应数据用NULL代替。

    举例如下 从 address角度查询对应学员信息,address表数据全部展示,无对应学员信息则展示null

    SELECT 

    *
    FROM
    tb_student stu
    RIGHT JOIN tb_address address
    ON stu.`id` = address.`stu_id` ;

     

    4.FULL JOIN 会从左表 和右表 那里返回所有的行。如果其中一个表的数据行在另一个表中没有匹配的行,那么对面的数据用NULL代替

    不常用,有时候数据库不支持

    举例:

    学员课程表关联学员班主任表,学员班主任可以为空,且去除无效数据

    错误:

    关联后,再取表中deleted = 0数据,会将null值排除,数据会遗漏

    正确:

    关联表时取表中有效数据

  • 相关阅读:
    css 动态换肤
    javascript 传递中文乱码的解决方案
    Iframe自动适应宽度和高度(both IE and Firefox )
    asp.net 读取Excel
    使用 sp_executesql
    用Javascript实现鼠标拖拽网页表单[转]
    教你看别人的QQ密码
    ASP.NET设置数据格式总结(二)[转]
    老百姓上的三大当[转]
    showModalDialog()、showModelessDialog()方法使用详解[转]
  • 原文地址:https://www.cnblogs.com/87060524test/p/10417011.html
Copyright © 2011-2022 走看看