zoukankan      html  css  js  c++  java
  • sql99等值&&非等值查询

      1 #二、sql99语法
      2 /*
      3 语法
      4 SELECT 查询列表
      5 FROM 表1 别名 【连接类型】
      6 JOIN 表2 别名
      7 on 连接条件
      8 【where 筛选条件】
      9 【group BY 分组】
     10 【having 筛选条件】
     11 【order by 排序列表】
     12 
     13 分类:
     14 内连接:inner
     15 外连接:左外:left【outer】
     16                 右外:right【outer】
     17                 全外:full【outer】
     18 交叉连接:cross
     19 */
     20 #一、内连接
     21 /* 
     22 语法:
     23 select 查询列表
     24 from 表1 别名
     25 inner join 表2 别名
     26 on 连接条件;
     27 
     28 分类:
     29 等值
     30 非凳子
     31 自连接
     32 
     33 特点
     34 ①添加排序、分组、筛选
     35 ② inner可以省略
     36 ③筛选条件放在 where后面,连接条件放在on后面,提高分离性,便于阅读
     37 ④ inner join连接和sq192语法中的等值连接效果是一样的
     38 */
     39 #案例1、查询员工名、部门名
     40 SELECT
     41     last_name,
     42     department_name
     43 FROM
     44     employees e
     45 INNER JOIN departments d ON e.department_id = d.department_id;
     46 
     47 #案例2.查询名字中包含e的员工名和工种名(筛选)
     48 SELECT
     49     last_name,
     50     job_title
     51 FROM
     52     employees e
     53 INNER JOIN jobs j ON e.job_id = j.job_id
     54 WHERE
     55     e.last_name LIKE '%e%';
     56 
     57 #案例3.查询部门个数>3的城市名名和部门个数,(分组+筛选)
     58 #①查询每个城市的部门个数4
     59 #②在①结果上筛选满足条件的
     60 SELECT
     61     city,
     62     department_id,
     63     COUNT(*) 部门个数
     64 FROM
     65     departments d
     66 INNER JOIN locations l ON d.location_id = l.location_id
     67 GROUP BY
     68     city
     69 HAVING
     70     部门个数 > 3;
     71 
     72 #案例4.查询哪个部门的部门员工个数》3的部门名和员工个数,并按个数降序(排序)
     73 SELECT
     74     COUNT(*) 员工个数,
     75     d.department_name
     76 FROM
     77     employees e
     78 INNER JOIN departments d ON e.department_id = d.department_id
     79 GROUP BY
     80     department_name
     81 HAVING
     82     员工个数 > 3
     83 ORDER BY
     84     员工个数 DESC;
     85 
     86 #案例5,查询员工名、部门名、工种名,并按部门名降序
     87 SELECT
     88     last_name,
     89     department_name,
     90     job_title
     91 FROM
     92     employees e
     93 INNER JOIN departments d ON e.department_id = e.department_id
     94 INNER JOIN jobs j ON e.job_id = j.job_id
     95 ORDER BY
     96     department_name DESC;
     97 
     98 #二、非等值连接
     99 #查询员工的工资级别
    100 SELECT
    101     salary,
    102     grade_level
    103 FROM
    104     employees e
    105 JOIN job_grades g ON e.salary BETWEEN g.lowest_sal
    106 AND g.highest_sal;
    107 
    108 #查询工资级别的个数>20的个数,并且按工资 级别降序
    109 SELECT
    110     COUNT(*) 工资级别个数,
    111     grade_level
    112 FROM
    113     employees e
    114 JOIN job_grades g ON e.salary BETWEEN g.lowest_sal
    115 AND g.highest_sal
    116 GROUP BY
    117     grade_level
    118 HAVING
    119     COUNT(*) > 20
    120 ORDER BY
    121     grade_level DESC;
  • 相关阅读:
    详细讲解Linux下安装python3(Python3.5.4)
    JavaScript抽象语法树英文对照
    关于MacBook Pro外接4K/60HZ显示器的问题
    Vue组件v-if新渲染的组件不更新
    Vue 子组件与子组件之间传值
    Spring整合CXF步骤,Spring实现webService,spring整合WebService
    CXF错误:Unsupported major.minor version 51.0,java.lang.UnsupportedClassVersionErro
    springMvc中406错误解决,springMvc使用json出现406 (Not Acceptable)
    jquery.validate中使用remote,remote相同值不校验问题解决
    MyBatis返回主键,MyBatis Insert操作返回主键
  • 原文地址:https://www.cnblogs.com/deyo/p/13265119.html
Copyright © 2011-2022 走看看