zoukankan      html  css  js  c++  java
  • Mysql----8 联表查询 嵌套查询 inner join on left join on right join on

    1.联表查询   必须多表要有相同的列 (多表查询)

       select  a.name,sex,password from 表1 as a inner join  表2  as b on a.name=b.name;---

       select   a.name ,password, sex from 表1 as a left join 表2  as  b  on a.name=b.name;---左表基准全查

       select  a.name ,password,sex from 表1 as a  right join 表2  as b on  a.name= b.name where password is null;---右表基准全查

    2.自连接查询  , 主--从关系结构 要有外键约束

    3.select 查询条件的写法  where---->group by ------>having----->order by  ------>limit

    执行顺序:from 表 -----》where -----》group by------》having-----》select—》order  by  -----》limit

    4.外键约束: 主表 和从表 关系:添加删除数据有顺序。

    1.从表外键新增的数据,必须在主表当中存在。

    2.要删除有引用关系的字段,要先删除从表中的数据,在删除主表中的数据。

    从表中外键的写法: constraint `fk_id` foreign key (`id`) reference 主表名(`主表对应字段`);

    3.数据库表的约束有:

    非空约束 NOT NULL ,

    默认约束default NUll 等 

     唯一约束 unique 

    主键约束primary key(`id`)

    外键约束 foreign key  

    4.多表查询:不一定有约束吧? 

    分为:1对多查询  多对多查询 1对一查询

    合并结果集:

      union 条件:1.多张表数据列相同;2.纵向合并 

      union all  

    2.连接查询: 笛卡尔乘积 相当于把多张表中数据合并成一张大表,然后找多张表共同点查询? a表 Xb表  行相乘  没有条件无意义

        查询两张表有关系的列字段。条件两张表相等字段;  一对多 相当于 左连接  或者右连接   多对一 也一样。

      包含 inner join 表 on 条件     ;    right  join 表 on 条件  ; left  join 表 on  条件;

    3.子查询  又叫嵌套查询   包含多层select 查询结果集

      子查询可以出现在 from 后面 作为临表  where 后面   作为条件

    子查询的结果集: 1.单行单列 作为条件      2.单行多列  作为条件    3.多行多列   作为表

    单行多列 作为条件需要 配合 any  或者 all 来查询 满足任何一行或者全部行的 内容返回值。

       

      

          

  • 相关阅读:
    python字符串方法
    字符串格式化示例
    python中的list()函数和tuple()函数
    python中sort()方法的cmp参数
    条件/三元操作符
    html5 frameset5内嵌框架集
    Sublime Text3取消自动补全结束标签
    Python列表:元素的修改、添加、删除和排序
    SCOI2010 股票交易
    Codeforces 797 D. Broken BST
  • 原文地址:https://www.cnblogs.com/chencn/p/12303324.html
Copyright © 2011-2022 走看看