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;
sql99等值&&非等值查询的更多相关文章
- mysql的缓冲查询和非缓冲查询
最近在开发一个PHP程序时遇到了下面的错误: PHP Fatal error: Allowed memory size of 268 435 456 bytes exhausted 错误信息显示允许的 ...
- php 非缓冲查询
最近在开发一个PHP程序时遇到了下面的错误: PHP Fatal error: Allowed memory size of 268 435 456 bytes exhausted 错误信息显示允许的 ...
- php+mysql非缓冲查询(如何循环大数组)
另外一种PHP查询模式是非缓冲查询,数据库服务器会一条一条的返回数据,而不是一次全部返回,这样的结果就是PHP程序消耗较少的内存,但却增加了数据库服务器的压力,因为数据库会一直等待PHP来取数据,一直 ...
- Solr4.8.0源码分析(6)之非排序查询
Solr4.8.0源码分析(6)之非排序查询 上篇文章简单介绍了Solr的查询流程,本文开始将详细介绍下查询的细节.查询主要分为排序查询和非排序查询,由于两者走的是两个分支,所以本文先介绍下非排序的查 ...
- SQL简单嵌套查询与非嵌套查询的比较(MSSQL2005)
某天的工作是修复某个项目的bug,接着就发现,其sql极其混乱,有非常多的left join和in操作,还有嵌套查询(只有一个表的嵌套查询).不知道看到过哪里的资料说,嵌套查询速度慢,于是我把全部嵌套 ...
- (24)ASP.NET Core EF查询(查询的工作原理、跟踪与非跟踪查询)
1.查询生命周期 在进入正题时候,我们先来了解EF Core查询的生命周期. 1.1LINQ查询会由Entity Framework Core处理并生成给数据库提供程序可处理的表示形式(说白了就是生成 ...
- oracle 相关查询和非相关查询,oracle 去除重复数据,以及oracle的分页查询!
一.oracle中的相关查询?和非相关查询? 二.oracle去除重复数据 1. 2. 3.oracle 实现分页? 利用rownum的唯一性,和子查询,将rownum从伪列变成实际列!
- switch case加条件语句(非等值) php
<?php $s_level=rand(1,6); echo $s_level.'<br/>'; switch(true){ case $s_level<3 : echo 'l ...
- ElasticSearch的高级复杂查询:非聚合查询和聚合查询
一.非聚合复杂查询(这儿展示了非聚合复杂查询的常用流程) 查询条件QueryBuilder的构建方法 1.1 精确查询(必须完全匹配上,相当于SQL语句中的“=”) ① 单个匹配 termQuery ...
- 数据库SQL调优的几种方式 EFcore读的情况下使用 AsNoTracking非跟踪查询
不要用GUID 当主键 没有规律 可以用雪花ID DBA 优化法则 硬件资源是根本,DBA是为了充分利用硬件资源 一般清空下可以不使用外键 可以提高性能 合理使用临时表 临时表分页; 一些查询语句加w ...
随机推荐
- TienChin 渠道管理-查看渠道接口
自定义 hasPermission 校验规则 自定义一个 Spring Security hasPermission 校验规则: 在 tienchin-framework 模块当中进行自定义,新建 C ...
- 【一】MADDPG-单智能体|多智能体总结(理论、算法)
相关文章: [一]MADDPG-单智能体|多智能体总结(理论.算法) [二]MADDPG--单智能体|多智能体总结算法实现--[追逐游戏] [一]-环境配置+python入门教学 [二]-Parl基础 ...
- 5.7 Windows驱动开发:取进程模块函数地址
在笔者上一篇文章<内核取应用层模块基地址>中简单为大家介绍了如何通过遍历PLIST_ENTRY32链表的方式获取到32位应用程序中特定模块的基地址,由于是入门系列所以并没有封装实现太过于通 ...
- Python 运用zabbix开发简易巡检工具
利用SSH或者Zabbix监控,配合Django开发框架,改造出属于自己的监控平台,实现包括主机图形,自动发现,计划任务,批量cmd执行,服务监控,日志监控等功能,由于公司机器混乱,基本上市面上的所有 ...
- 驱动开发:内核MDL读写进程内存
MDL内存读写是最常用的一种读写模式,通常需要附加到指定进程空间内然后调用内存拷贝得到对端内存中的数据,在调用结束后再将其空间释放掉,通过这种方式实现内存读写操作,此种模式的读写操作也是最推荐使用的相 ...
- SpringCloud-Config配置中心搭建保姆级教程
一.分布式配置中⼼ 在使⽤微服务架构开发的项⽬中,每个服务都有⾃⼰的配置⽂件(application.yml),如果将每个服务的配置⽂件直接写在对应的服务中,存在以下问题: 1. 服务开发完成之后,需 ...
- 位图|布隆过滤器模拟实现|STL源码剖析系列|手撕STL
今天博主给大家带来位图和布隆过滤器的模拟实现. 前言 那么这里博主先安利一下一些干货满满的专栏啦! 手撕数据结构https://blog.csdn.net/yu_cblog/category_1149 ...
- Mygin之错误恢复Recover中间件
本篇是mygin这个系列的最后一篇.如果想自己动手实现一个类似Gin的Web框架,建议从 mgin第一篇开始, 总代码行数有效行数只有600多行 github源码 mygin 目的 实现错误处理机制 ...
- C++中,new与malloc的区别何在?(代码实验向)
在C++中,new与malloc()都可用于在堆中分配一块内存.其中,new是C++的语法,而malloc则来自古老的C语言,二者在使用时有何区别? new会调用构造函数,而malloc()不会 假设 ...
- 7.函数的使用--《Python编程:从入门到实践》
7.1 python 中函数的定义 python 中函数使用 def 定义: def greet_user(): 7.2 传参的传递 普通实参的传毒,可以与 C++ 相同,即按顺序传递. 7. ...