02 MySQL 之 DQL专题

news2024/12/26 22:22:08

3.

数据库中仅有月薪字段(month_salary),要求查询所有员工的年薪,并以年薪(year_salary)输出:

分析:

  1. 查询操作中,字段可以参与数学运算
  2. as 起别名,但实际上可以省略
#以下两句效果完全一致
select month_salary as year_salary from emp
select month_salary year_salary from emp

4. 条件查询

#条件查询的语法
select   
...
from  
...
where  过滤条件;

带有

除了数学符号外,常见的条件

| between...and...   | 等同于 >= and <=                   |
| is null            | 为空                               |
| is not null        | 不为空                             |            |                |
| in                 | 在指定的值当中                     |
| not in             | 不在指定的值当中                   |
| exists             |                                    |
| not exists         |                                    |
| like               | 模糊查询                           |

in 和 or 的效率

我们知道, in的执行原理实际上是采用 = 和 or 的方式,

job in(‘MANAGER’,‘SALESMAN’,‘CLERK’)
等同于
job = ‘MANAGER’ or job = ‘SALESMAN’ or job = ‘CLERK’

sal in(1600, 3000, 5000)
等同于
sal = 1600 or sal = 3000 or sal = 5000

查询的列如果有索引或者主键,那么二者效率基本相当
否则
or的效率为O(n),而in的效率为O(log n), 当n越大的时候效率相差越明显(也就是说数据量越大的时候,in的效率越高)。

.1 and 和 or 优先级问题

找出薪资小于1500,并且部门编号是20或30的员工姓名、薪资、部门编号。

直接给出错误 SQL:

select
  ename,sal,deptno
from
  emp
where
  sal < 1500 and deptno = 20 or deptno = 30;

结果是错的,有两个部门 30 且工资超过 1500 的也被查询了
在这里插入图片描述

分析:

  1. MS 中,and 的优先级大于 or
# 我们想要的执行顺序是  sal < 1500 and (deptno = 20 or deptno = 30)
# 实际的执行顺序是  (sal < 1500 and deptno = 20) or deptno = 30;
# 即系统先筛选出同时满足工资小于 1500 且部门 20 的人,再加上所有部分 30 的人后一起输出
  sal < 1500 and deptno = 20 or deptno = 30;
# 由于 and 优先级高,系统先执行所有 and,因此执行顺序是(条件1 and 条件2)or(条件3 and 条件4 )
 where 条件1 and 条件2 or 条件3 and 条件4
  1. 不用记忆优先级。遇到不确定的优先级时,用小括号来保证正确。
sal < 1500 and (deptno = 20 or deptno = 30

模糊查询

模糊查询的语法格式如下:

select .. from .. where 字段 like '通配符表达式';

通配表达式也很简单,主要是

  1. % 代表任意多个字符。
  2. 下划线 “_” 代表任意一个字符。

order by排序

order by 关键字默认采用 asc 升序

#按照 sal 升序排列,如果 sal 相同的,再按照 ename 升序排列。
select empno,ename,sal from emp order by sal asc, ename asc;

distinct 去重

  1. distinct只能出现在所有字段的最前面。
  2. 且当distinct出现后,后面多个字段一定是联合去重的: 即将多个字段视为一个整体,允许部分重复,不允许整体重复。
    在这里插入图片描述
    在这里插入图片描述

数据处理函数

字符串处理相关之 upper/ucase、lower/lcase

# 查询所有员工名字,以大写形式展现
select upper(ename) as ename from emp;

#数据库是否对大小写敏感主要取决于操作系统.win 内不敏感,linux 内敏感
#若在 linux 内部署数据库,并且此时不知道表中的人名是大写、小写还是大小写混合,
#不妨直接将 ename 一整列都转大写,然后再用大写的人名去匹配,这样,只要确实存在这个人,不管大小写都能匹配出来
select ename, job, sal from emp where upper(ename) = 'SMITH';

截取字符串substr

语法:substr(‘被截取的字符串’, 起始下标, 截取长度)
有两种写法:
第一种:substr(‘被截取的字符串’, 起始下标, 截取长度)
第二种:substr(‘被截取的字符串’, 起始下标),当第三个参数“截取长度”缺失时,截取到字符串末尾
注意:起始下标从1开始,不是从0开始。(1表示从左侧开始的第一个位置,-1表示从右侧开始的第一个位置。)
在这里插入图片描述
练习:找出员工名字中第二个字母是A的

select ename from emp where substr(ename, 2, 1) = 'A';

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1595483.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

202209青少年软件编程(scratch图形化) 等级考试试卷(四级)

第1题&#xff1a;【 单选题】 运行下列程序&#xff0c;说法正确的是&#xff1f;&#xff08;&#xff09; A:列表中的数字全部小于11 B:列表的长度为 10 C:变量i最终值为 20 D:列表中有大于 10 的数字 【正确答案】: D 【试题解析】 : 程序运行后&#xff0c;变量i最…

SSRF+Redis未授权getshell

SSRFRedis未授权getshell 1.前言 当一个网站具有ssrf漏洞&#xff0c;如果没有一些过滤措施&#xff0c;比如没过滤file协议&#xff0c;gophere协议&#xff0c;dict等协议&#xff0c;就会导致无法访问的内网服务器信息泄露&#xff0c;甚至可以让攻击者拿下内网服务器权限 …

Hadoop 3.1.3

第1章 Hadoop概述 1.1 Hadoop是什么 1.2 Hadoop发展历史&#xff08;了解&#xff09; 1.3 Hadoop三大发行版本&#xff08;了解&#xff09; Hadoop三大发行版本&#xff1a;Apache、Cloudera、Hortonworks。 Apache版本最原始&#xff08;最基础&#xff09;的版本&#x…

【学习笔记十一】EWM上架目标仓位确定过程及配置

一、EWM确定目标区域概述 1.EWM从仓库处理类型获取源仓库类型&#xff08;Source storage type&#xff09;和源仓位&#xff08;Source Bin&#xff09;2.EWM根据仓库类型&#xff08;storage type&#xff09;、仓库分区&#xff08;storage section&#xff09;和上架策略&a…

待研究技术

Fabric.js H5 Canvas的js库 Fabric.js是一个用于创建交互式的HTML5 Canvas应用程序的JavaScript库。它提供了一个简单而强大的API&#xff0c;用于在Web浏览器中绘制和操作图形对象。Fabric.js可以用于创建各种图形应用程序&#xff0c;例如绘图编辑器、图像编辑器、流程图、地…

做产品,我的转行+转岗经历

许多小伙伴在后台留言提到数据产品经理这个岗位&#xff0c;今天来给大家介绍一下数据产品的一些基本工作内容和流程&#xff0c;帮助大家了解。 之前写了一篇转行PM的历程文章&#xff0c;有很多像我当年一样在求职中的小伙伴私信我&#xff0c;这其中有应届生也有程序员&…

基于Springboot+Vue的Java项目-房产销售系统(附演示视频+源码+LW)

大家好&#xff01;我是程序员一帆&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &am…

雅虎、乐天、煤炉、国际站、newegg、wish等跨境卖家如何提升店铺销量?深度解析自养号测评的价值

一、如何提升销量&#xff1f; 优化产品描述和图片&#xff1a;确保您的产品描述准确、详细&#xff0c;图片清晰、美观。这将有助于提高产品的吸引力&#xff0c;增加潜在买家的购买意愿。 提供良好的客户服务&#xff1a;及时回复买家的咨询和问题&#xff0c;解决他们的疑…

Mixed-Query Transformer:统一的图像分割架构

Mixed-Query Transformer:统一的图像分割架构 摘要IntroductionRelated WorkMethodMQ-Former ArchitectureObject Query Strategies Mixed-Query Transformer: A Unified Image Segmentation Architectur 摘要 在现有的一体化图像分割模型中&#xff0c;要么在多个任务上采用统…

Linux系统编程---文件系统

一、文件存储 一个文件主要由两部分组成&#xff0c;dentry(目录项)和inode inode本质是结构体&#xff0c;存储文件的属性信息&#xff0c;如&#xff1a;权限、类型、大小、时间、用户、盘块位置… 也叫做文件属性管理结构&#xff0c;大多数的inode都存储在磁盘上。 少量…

NSA发布《在数据支柱中推进零信任成熟度》报告

4月9日&#xff0c;美国国家安全局&#xff08;NSA&#xff09;发布了题为《在数据支柱中推进零信任成熟度》的报告&#xff0c;旨在于数据安全层面提供指导&#xff0c;以增强数据整体安全性并保护静态和传输中的数据。(如下图&#xff09; 一、主要内容 报告中的建议侧重于将…

程序员可以兼职的项目

程序员可以兼职的项目 私信联系我&#xff1a;15049723876&#xff08;V&#xff09;

搜索引擎广告滥用的威胁日益严重

BlueVoyant 的一份新报告发现&#xff0c;威胁行为者正在利用搜索引擎内置的广告基础设施来对毫无戒心的用户进行网络钓鱼。该博客概述了日益增长的威胁以及如何保护自己。 恶意搜索引擎广告的使用呈上升趋势&#xff0c;对全球互联网用户和公司构成重大威胁。它不是将广告中的…

mysql 查询实战2-解答

看了mysql 查询实战2-题目-CSDN博客的题目&#xff0c;继续进行解答。 6、查询⽹站访问⾼峰期 目标&#xff1a; 查询网站访问高峰时期&#xff0c;高峰时期定义&#xff1a;至少连续三天访问量>1000 1&#xff0c;关联查询 要连续三天&#xff0c;至少要声明“自身”三个去…

二叉树经典OJ题(2)

一、根据二叉树创建字符串 . - 力扣&#xff08;LeetCode&#xff09; class Solution { public://前序遍历&#xff1a;根 左 右//左子树为空&#xff0c;右子树不为空的时候&#xff0c;不能省略左//左不为空&#xff0c;右子树为空的时候&#xff0c;可以省略右//都为空&am…

PaddleDetection 项目使用说明

PaddleDetection 项目使用说明 PaddleDetection 项目使用说明数据集处理相关模块环境搭建 PaddleDetection 项目使用说明 https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.7/configs/ppyoloe/README_cn.md 自己项目&#xff1a; https://download.csdn.net/d…

ActiveMQ入门案例(queue模式和topic模式)

目录 前言&#xff1a;为什么使用消息中间件&#xff1f; 异步通信 缓冲 解耦 前提&#xff1a;安装并启动activemq 一、点对点&#xff08;point to point&#xff0c; queue&#xff09; 1.1 创建maven项目 1.2 Pom依赖 1.2 JmsProduce 消息生产者 1.3 JmsConsumer…

数据结构课程设计选做(三)---公共钥匙盒(线性表,栈,队列)

2.3.1 题目内容 2.3.1-A [问题描述] 有一个学校的老师共用N个教室&#xff0c;按照规定&#xff0c;所有的钥匙都必须放在公共钥匙盒里&#xff0c;老师不能带钥匙回家。每次老师上课前&#xff0c;都从公共钥匙盒里找到自己上课的教室的钥匙去开门&#xff0c;上完课后&…

FJSP:袋鼠群优化(Kangaroo Swarm Optimization ,KSO)算法求解柔性作业车间调度问题(FJSP),提供MATLAB代码

一、柔性作业车间调度问题 柔性作业车间调度问题&#xff08;Flexible Job Shop Scheduling Problem&#xff0c;FJSP&#xff09;&#xff0c;是一种经典的组合优化问题。在FJSP问题中&#xff0c;有多个作业需要在多个机器上进行加工&#xff0c;每个作业由一系列工序组成&a…

AliyunCTF 2024 - BadApple

文章目录 前言环境搭建漏洞分析漏洞利用参考 前言 本文首发于看雪论坛 https://bbs.kanxue.com/thread-281291.htm 依稀记得那晚被阿里CTF支配的恐惧&#xff0c;今年的阿里CTF笔者就做了一道签到PWN题&#xff0c;当时也是下定决心要学习 jsc pwn 然后复现这道 BadApple 题目…