SQL 经典实例

article/2025/10/8 15:23:11

《SQL经典实例》

1,在WHERE子句中引用别名列
直接引用-报错
把查询包装为一个内嵌视图,这样就可以引用别名列了

select *
from (
select sal as salary, comm as commission
from emp
) x
where salary < 5000

同理:当你想在 WHERE 子句中引用下列内容时,考虑再嵌套一下
• 聚合函数
• 标量子查询
• 窗口函数
• 别名

2,想要获得如下结果集。
CLARK WORKS AS A MANAGER
KING WORKS AS A PRESIDENT
MILLER WORKS AS A CLERK
用CONCAT 函数

select concat(ename, ' WORKS AS A ',job) as msg
from emp

3,:如果员工的工资少于 2000 美元,就返回 UNDERPAID;如果超过 4000 美元就返回OVERPAID;若介于两者之间则返回 OK
在这里插入图片描述使用 CASE 表达式

select ename,sal,
case when sal <= 2000 then 'UNDERPAID'
when sal >= 4000 then 'OVERPAID'
else 'OK'
end as status
from emp

4,随机返回若干行记录–order by rand() limit 5

select ename,job
from emp
order by rand() limit 5

5,查找Null值–where comm is null
where comm is not null

6,把Null值转换为实际值,两种方法

select coalesce(comm,0)
from emp
select case
when comm is not null then comm
else 0
end
from emp

7, order by 3 – 数值从 1 开始,从左向右匹配 SELECT 列表里的列

8,按照职位字段的最后两个字符对检索结果进行排序
order by substr(job,length(job)-2)

9,排序时对Null值的处理
使用 CASE 表达式标记 Null 值。该标记有两种可能的取值:一种代表 Null 值,另一种代表非 Null 值。----加一个标识列
加的标识列没法直接用,再套一次然后判断

 select ename,sal,commfrom (select ename,sal,comm,case when comm is null then 0 else 1 end as is_nullfrom emp)xorder by is_nulldesc,comm

10,依据条件逻辑动态调整排序项
如果 JOB 等于 SALESMAN,就要按照 COMM 来排序;否则,按照 SAL 排序。
order by 里是可以再加一个case when 的

 select ename,sal,job,commfrom emporder by case when job = 'SALESMAN' then comm else sal end

11,
在这里插入图片描述

 select ename as ename_and_dname, deptnofrom empwhere deptno = 10union allselect '----------', nullfrom t1union allselect dname, deptnofrom dept

12,查找只存在于一个表中的数据
找出在 DEPT 表中存在而在 EMP 表里却不存在的部门编号

 select deptnofrom deptwhere deptno not in (select deptno from emp)

13,从一个表检索与另一个表不相关的行
在一个表里查找与另一个表不相匹配的行。例如,你想找出哪些部门没有员工。

1 select d.*
2 from dept d left outer join emp e
3 on (d.deptno = e.deptno)
4 where e.deptno is null

http://chatgpt.dhexx.cn/article/kZiCnLMH.shtml

相关文章

SQL示例数据库

在本教程中&#xff0c;我们将向您介绍在整个教程中使用的SQL示例数据库。以下数据库关系图 - HR 示例数据库&#xff1a; 在这个HR 示例数据库有7个表&#xff1a; employees表存储员工的数据信息。 jobs表存储工作数据信息&#xff0c;包括职位和工资范围。 departments表…

数据库案例

目录 微信朋友圈设计 用户及用户关系 发朋友圈 CDN 发布表 相册表 时间线 刷朋友圈 删除、拉黑、标签、不让他看、三天可见该怎么办 谁可以看 标签 第二步的权限控制 评论和赞 微信朋友圈设计 用户及用户关系 肯定有用户表作为基础 用户关系表&#xff0c;用户…

SQL数据库编写及示例

一、 数据库编写 1、数据库常用约束 主键约束: primary key 外键约束: foreign key (references) 唯一值约束: unique 默认值约束: default 检查约束: check 非空约束: not null 标识列: identity 2、创建数据表注意事项 主外键数据类型必须一致 列与列之间用&#xff0c;间隔…

sqlserver:什么是数据库实例?

环境&#xff1a; window server 2019 datacentersqlserver2014 x64 问题&#xff1a; 什么是SQL server实例&#xff1f;数据库的对象架构是怎样设计的&#xff1f; 先把官方的解释贴出来&#xff1a; https://docs.microsoft.com/zh-cn/sql/relational-databases/databases…

【转】数据库设计实例一学习

​​​​​​数据库1​​​​​​​​​​​​​​​​​​​​​对多&#xff0c;1对1&#xff0c;M对N学习 以RBAC为例。​​​​​​​​​​​​​​ 于 RBAC&#xff08;Role-based Access Control&#xff09;权限访问控制。也就是说一个用户可以有多个角色&#xff…

sql server 数据库设计实例

本实例为综合实例,考察数据库原理中的,sql脚本的编写,创建——增删改查,视图和索引的创建等;数据库ER图,关系模式;以及一些高级的应用包括:触发器,函数和存储过程。 (一). 数据库设计题目如下 有一个图书出版发行管理系统,其主要业务规则如下: 一个作者可以编写多…

达梦数据库创建及数据库实例管理

一、配置助手创建和删除数据库 数据库配置助手创建数据库调用 dbca.sh 图形化界面创建数据库&#xff1a;[dmdbaDCA02 tool]$ ./dbca.sh2021-01-11 11:43:45 [com.dameng.dbca.Startup] [INFO] 启动 DBCA 指定数据库名称、实例名称&#xff08;单机情况下数据库和实例名称可以…

MySql 数据库操作实例

MySql 数据库操作实例 案例描述创建插入数据内外连接~问题问题1&#xff1a;查询周星星的成绩问题2&#xff1a;查询所有人的平均成绩以及其他信息1&#xff09;查询所有人的平均成绩2&#xff09;查询平均成绩最高的前三名3&#xff09;查询平均成绩排名第三的学生信息 问题3&…

数据库五个经典实例

创建数据库链接&#xff0c;需要用到connection对象&#xff0c;recordset对象。 对数据库进行操作&#xff0c;需要用到command对象&#xff0c;parameter对象。这两个对象成对出现。 connection对象&#xff1a;创建数据库链接。在对数据库进行操作的前提步骤。 recordset…

Oracle 数据库实例介绍

文章目录 数据库实例介绍实例结构实例配置读写实例与只读实例实例生命周期实例标识Oracle 根目录Oracle 主目录Oracle SID 实例启动与关闭启动实例与数据库管理员登录启动实例加载数据库打开数据库只读模式数据库文件检查 关闭数据库与实例关闭模式关闭数据库正常关闭异常关闭 …

Python:二叉树遍历

二叉树遍历共有四种方法&#xff0c;分别是前序遍历、中序遍历、后序遍历和层次遍历。 前序遍历&#xff1a; 父节点——左孩子——右孩子 中序遍历&#xff1a;左孩子——父节点——右孩子 后序遍历&#xff1a;左孩子——右孩子——父节点 层次遍历&#xff1a;利用队列解…

【算法】二叉树遍历的几种常见方法

二叉树遍历的几种常见方法 一. 二叉树分类&#xff1a; 完全二叉树满二叉树扩充二叉树平衡二叉树 二. 二叉树的四种遍历方式&#xff1a; 前序遍历&#xff08;先根&#xff0c;再左&#xff0c;最后右&#xff09;中序遍历&#xff08;先左&#xff0c;再根&#xff0c;最…

二叉树遍历的非递归算法

非递归的算法主要采用的是循环出栈入栈来实现对二叉树的遍历&#xff0c;下面是过程分析 以下列二叉树为例&#xff1a;&#xff08;图片来自懒猫老师《数据结构》课程相关内容&#xff09; 1.前序遍历 前序遍历的顺序为&#xff1a;根结点->左子树->右子树 基本过程&a…

二叉树的中序遍历算法

一&#xff0c;简介 二叉树的中序遍历在计算机行业有着重要的作用&#xff0c;其中一个应用就是判断一棵二叉树是否二叉排序树。 下面介绍递归和非递归两种方式实现中序遍历。 二&#xff0c;递归实现 递归实现非常简单&#xff0c;左根右依次进行即可。 void mid_scan2(n…

JavaScript算法 — 二叉树遍历

目录 1、构造二叉树2、递归遍历3、非递归遍历3.1 先序3.2 中序3.3 后序 1、构造二叉树 树节点&#xff1a; // 二叉树节点的构造函数 function TreeNode(val, left, right) {this.val (valundefined ? 0 : val)this.left (leftundefined ? null : left)this.right (righ…

二叉树遍历算法之一:前序遍历

递归实现前序遍历 二叉树的前序遍历是指从根节点出发&#xff0c;按照先根节点&#xff0c;再左子树&#xff0c;后右子树的方法遍历二叉树中的所有节点&#xff0c;使得每个节点都被访问一次。 当调用遍历算法的时候前序遍历的具体过程如下&#xff1a; 首先访问根节点&…

二叉树遍历小结

前言 二叉树是相当重要的数据结构&#xff0c;目前我还只会玩玩它的遍历&#xff08;年轻不懂事没好好学&#xff0c;不然早就达到人生巅峰了&#xff09;&#xff0c;LeetCode上二叉树的简单题&#xff0c;大部分通过遍历加一点小逻辑即可解决&#xff0c;所以总结一下几种遍…

二叉树遍历之层次遍历算法入门详解

一、引言 二叉树的遍历常见的方法有先序遍历、中序遍历、后序遍历和层次遍历等&#xff0c;本文给出了C语言版本的层次遍历二叉树的算法。 层次遍历的原理很简单&#xff0c;总结为一句话就是“从上到下&#xff0c;从左到右”&#xff0c;就是从树根开始逐层访问二叉树的结点&…

二叉树的四种遍历算法

二叉树作为一种重要的数据结构&#xff0c;它的很多算法的思想在很多地方都用到了&#xff0c;比如STL算法模板&#xff0c;里面的优先队列、集合等等都用到了二叉树里面的思想&#xff0c;先从二叉树的遍历开始&#xff1a; 看二叉树长什么样子&#xff1a; 我们可以看到这颗…

实现二叉树各种遍历算法

目录 前言一、题目1.二叉树的各种遍历过程及遍历算法设计。2.实现二叉树各种遍历算法 总结 前言 提示&#xff1a;记得关注我哦&#xff01;&#xff01;&#xff01; 一、题目 1.二叉树的各种遍历过程及遍历算法设计。 &#xff08;1&#xff09; 先序遍历二叉树&#xff1…