zoukankan      html  css  js  c++  java
  • sql99 连接查询

    sql99 连接查询

    又叫多表查询四、SQL99语法 1、内连接

    相当于查多个表的公共部分

    语法: select 查询列表 from 表1 别名

    【连接类型】join 表2 别名

    on 连接条件

    where 筛选条件 group by 分组列表 having 分组后的筛选 order by 排序列表

     

    分类:

    内连接 inner

    外连接:

    左外连接 left [outer]

    右外连接 right[outer]

    全外 full[outer]

    交叉连接 : cross

     

    1内连接

    分类:

    1 等值连接:

    例子

    select last_name,department_name
    from employees e
    inner join departments d
    on e.xxx = d.xxx
    特点:
    inner可以生省略
    筛选条件在where后面
    连接条件在on后面

     

    2 非等值连接

    就把等值连接里面的on的限制条件从等于改为其它符号

    3 自连接

     

    select last_name,department_name
    from employees e
    inner join employees d
    on e.xxx = d.xxx

     

    外连接

    语法:

    select 查询列表
    from 表1 别名
    left|right|fullouterjoin 表2 别名 on 连接条件
    where 筛选条件
    group by 分组列表
    having 分组后的筛选
    order by 排序列表

    应用场景:

    用来查询一个表里有,另一个表里没有的情况。

    外连接可以看作是 = 内连接+匹配不上的NULL值

    特点:

    1.外连接的查询结果为主表中的所有记录

    如果主表和从表匹配则完全显示

    如果不匹配则显示NULL

     

     

    左右外连接

    select 查询列表
    from 表1 别名
    left|rightouterjoin 表2 别名 on 连接条件
    where 筛选条件
    group by 分组列表
    having 分组后的筛选
    order by 排序列表

    特点:

    1.如果是左连接 left 左边的表是主表

    如果是右连接right右边的表是主表

    2 左外和右外交换两个表顺序,实现同样的效果

     

    全外连接

    mysql不支持

     

    交叉连接

    就是一个笛卡尔乘积

    select b.*,p.*
    from table1 b
    cross join table2 p;

     

  • 相关阅读:
    邮件发送工具类
    redis在项目中配置
    搭建zookeeper集群
    activeMQ安装
    solr安装配置中文分词IK
    reids安装
    jdk/tomcat/mysql在linux下安装
    使用poi进行excel导入
    linux 大杂烩
    找包网址
  • 原文地址:https://www.cnblogs.com/beautiful7/p/13109724.html
Copyright © 2011-2022 走看看