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 ...
随机推荐
- layui之静态表格的分页及搜索功能以及前端使用XLSX导出Excel功能
LayUI官方文档:https://layui.dev/docs/2/#introduce XLSX NPM地址:https://www.npmjs.com/package/xlsx XLSX 使用参 ...
- Unity的asm笔记
使用asm的好处 减少修改C#后unity编译dll的时间,对于项目中的C#代码越多效果越明显,比如我们的一个3dmmo项目是纯C#开发,每次修改C#后编译时间就要26s以上 在Unity2018.2 ...
- 6张图表 + 1个案例 带你入门tcpdump的使用和原理
一.tcpdump简介 tcpdump是什么? 来看看 tcpdump官网怎么说:This is the home web site of tcpdump, a powerful command-li ...
- 小白学k8s(11)-k8s中Secret理解
理解Secret 什么是Secret Secret的类型 Opaque Secret Opaque Secret的使用 将Secret挂载到Volume中 挂载的Secret会被自动更新 将Secre ...
- C/C++ ShellCode 常用加密方式
异或加密ShellCode: #include <stdio.h> #include <Windows.h> unsigned char buf[] = "\xba\ ...
- 辣鸡 mac 下 pycharm 中代码拖拽的问题
Editor –> General Enable Drag'n'Drop functionality in Editor
- 【部署教程】基于GPT2训练了一个傻狗机器人 - By ChatGPT 技术学习
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 首先我想告诉你,从事编程开发这一行,要学会的是学习的方式方法.方向对了,才能事半功倍.而我认为 ...
- 使用Miniconda安装R语言环境
使用Miniconda安装R语言 下载Miniconda3-latest-Linux-x86_64.sh 静默安装 sh Miniconda3-latest-Linux-x86_64.sh -b -p ...
- CH58x/CH57x硬件SPI操作外部flash学习记录
官方提供的58x的spi例程,spi主机模式下的发送方式有三种单字节发送,FIFO连续发送,DMA连续发送.本文分别对SPI0主机模式下三种发送模式进行使用. 本次使用的是CH582m做为主机,W25 ...
- Java - CodeForces - 1230A
题目: Dawid有了 4 包糖果.第 i 包里面有 Ai 个糖果. Dawid想把这四包糖果送给两个朋友,能否让两个朋友收到相同数量的糖果?注意,不能拆开任何一包糖,不能把糖果留给自己或扔掉,四包糖 ...