zoukankan      html  css  js  c++  java
  • Mysql基础(四):sql查询(四)连接查询

    ##进阶6:多表连接查询

    笛卡尔乘积:如果连接条件省略或无效则会出现
    解决办法:添加上连接条件

    一、传统模式下的连接 :等值连接——非等值连接


      1.等值连接的结果 = 多个表的交集
      2.n表连接,至少需要n-1个连接条件
      3.多个表不分主次,没有顺序要求
      4.一般为表起别名,提高阅读性和性能

    二、sql99语法:通过join关键字实现连接

      含义:1999年推出的sql语法
      支持:
        等值连接、非等值连接 (内连接)
      外连接
      交叉连接

    语法:

      select 字段,...
      from 表1
     【inner|left outer|right outer|cross】join 表2 on 连接条件
     【inner|left outer|right outer|cross】join 表3 on 连接条件
     【where 筛选条件】
       【group by 分组字段】
     【having 分组后的筛选条件】
       【order by 排序的字段或表达式】

      好处:语句上,连接条件和筛选条件实现了分离,简洁明了!


    三、自连接

    案例:查询员工名和直接上级的名称

    sql99

      SELECT e.last_name,m.last_name
      FROM employees e
      JOIN employees m ON e.`manager_id`=m.`employee_id`;

    sql92


      SELECT e.last_name,m.last_name
      FROM employees e,employees m
      WHERE e.`manager_id`=m.`employee_id`;

  • 相关阅读:
    密码学浅析
    FireWall Mark + LVS
    tcp/ip首部
    iptables(二)网络防火墙
    BIND服务
    LVS(一)
    QQ、微信消息轰炸
    LVS四种模型(二)
    安装和克隆
    压缩和打包
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/14873495.html
Copyright © 2011-2022 走看看