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;

sql99等值&&非等值查询的更多相关文章

  1. mysql的缓冲查询和非缓冲查询

    最近在开发一个PHP程序时遇到了下面的错误: PHP Fatal error: Allowed memory size of 268 435 456 bytes exhausted 错误信息显示允许的 ...

  2. php 非缓冲查询

    最近在开发一个PHP程序时遇到了下面的错误: PHP Fatal error: Allowed memory size of 268 435 456 bytes exhausted 错误信息显示允许的 ...

  3. php+mysql非缓冲查询(如何循环大数组)

    另外一种PHP查询模式是非缓冲查询,数据库服务器会一条一条的返回数据,而不是一次全部返回,这样的结果就是PHP程序消耗较少的内存,但却增加了数据库服务器的压力,因为数据库会一直等待PHP来取数据,一直 ...

  4. Solr4.8.0源码分析(6)之非排序查询

    Solr4.8.0源码分析(6)之非排序查询 上篇文章简单介绍了Solr的查询流程,本文开始将详细介绍下查询的细节.查询主要分为排序查询和非排序查询,由于两者走的是两个分支,所以本文先介绍下非排序的查 ...

  5. SQL简单嵌套查询与非嵌套查询的比较(MSSQL2005)

    某天的工作是修复某个项目的bug,接着就发现,其sql极其混乱,有非常多的left join和in操作,还有嵌套查询(只有一个表的嵌套查询).不知道看到过哪里的资料说,嵌套查询速度慢,于是我把全部嵌套 ...

  6. (24)ASP.NET Core EF查询(查询的工作原理、跟踪与非跟踪查询)

    1.查询生命周期 在进入正题时候,我们先来了解EF Core查询的生命周期. 1.1LINQ查询会由Entity Framework Core处理并生成给数据库提供程序可处理的表示形式(说白了就是生成 ...

  7. oracle 相关查询和非相关查询,oracle 去除重复数据,以及oracle的分页查询!

    一.oracle中的相关查询?和非相关查询? 二.oracle去除重复数据 1. 2. 3.oracle 实现分页? 利用rownum的唯一性,和子查询,将rownum从伪列变成实际列!

  8. switch case加条件语句(非等值) php

    <?php $s_level=rand(1,6); echo $s_level.'<br/>'; switch(true){ case $s_level<3 : echo 'l ...

  9. ElasticSearch的高级复杂查询:非聚合查询和聚合查询

    一.非聚合复杂查询(这儿展示了非聚合复杂查询的常用流程) 查询条件QueryBuilder的构建方法 1.1 精确查询(必须完全匹配上,相当于SQL语句中的“=”) ① 单个匹配 termQuery ...

  10. 数据库SQL调优的几种方式 EFcore读的情况下使用 AsNoTracking非跟踪查询

    不要用GUID 当主键 没有规律 可以用雪花ID DBA 优化法则 硬件资源是根本,DBA是为了充分利用硬件资源 一般清空下可以不使用外键 可以提高性能 合理使用临时表 临时表分页; 一些查询语句加w ...

随机推荐

  1. 从零开始匹配vim(1)——选项设置

    前面我们算是对 vimscript 做了一个入门,并且实现了一个 输出 hello world 的语句.现在我们继续进行 vimscript 的学习. set语句 之前在介绍 vim 基础的时候,我们 ...

  2. SqlSugar联表查询

    Join用法 语法糖1.2和3 在Where OrderBy GroupBy Select用法都一样的,他们区别就在JOIN的方式不一样,其它都一样 语法糖1 优点:好理解,5个表以内的联表非常爽,支 ...

  3. HarmonyOS实战[一]——原理概念介绍安装:基础篇

    [本文正在参与"有奖征文|HarmoneyOS征文大赛"活动] 相关文章: HarmonyOS实战[一]--原理概念介绍安装:基础篇 HarmonyOS实战[二]-超级详细的原子化 ...

  4. 使用Dockerfile安装R语言镜像

    Dockerfile: FROM centos7 WORKDIR /opt/mids/ COPY Miniconda3-latest-Linux-x86_64.sh . RUN sh Minicond ...

  5. uni-app 介绍及使用

    一.什么是uni-app uni-app由dcloud公司开发的多端融合框架,是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS.Android.Web(响应式).以 ...

  6. CH9140,CH9141,CH9143异同点

    9140:是一款蓝牙转串口芯片,芯片支持蓝牙主从一体模式或从机模式,支持蓝牙 BLE4.2.串口波特率最高 1Mbps,支持 MODEM 联络信号,蓝牙主从模式可以自动连接或绑定. 智能配对功能 当 ...

  7. Matrix【未完成】

    Matrix The fitrst thing we do,let's kill all the language lawyers. -- Henry VI, Part II The "pr ...

  8. DNS子域委派配置·

    实验介绍:DNS子域委派的作用 子域即为主域下的一个子域名,当一个子域的流量过大时,主域的DNS服务器可以把一个子域的查询授权给一台专门的子域服务器 注意被委派的服务器必须是委派服务器的子域服务器. ...

  9. ClickHouse-tgz安装步骤

    一.什么是clickhouse ClickHouse是开源的列式存储数据库(DBMS),主要用于在线处理查询(OLAP),能够使用SQL查询实时生成数据分析报告. 下面介绍下安装clickhouse. ...

  10. Hive的基本概念

    一.Hive基本概念 1.什么是Hive? hive是基于Hadoop的一个数据仓库工具,用来进行数据提取.转化.加载.可以存储.查询和分析存储在Hadoop中的大规模数据. hive数据仓库工具能将 ...