前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >order by case when执行优先级_sql case语句

order by case when执行优先级_sql case语句

作者头像
全栈程序员站长
发布于 2022-10-02 08:47:37
发布于 2022-10-02 08:47:37
1.4K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

MySQL 语句中执行优先级——and比or高

例:

select * from table where 条件1 AND 条件2 OR 条件3

等价于

select * from table where ( 条件1 AND 条件2 ) OR 条件3

select * from table where 条件1 AND 条件2 OR 条件3 AND 条件4

等价于

select * from table where ( 条件1 AND 条件2 ) OR ( 条件3 AND 条件4 )

sql执行顺序

from > on > join > where > group by > having > select > order by > limit

Case When

当我们需要从数据源上 直接判断数据显示代表的含义的时候 ,就可以在SQL语句中使用 Case When这个函数了.

Case具有两种格式。简单Case函数和Case搜索函数。

第一种 格式 : 简单Case函数 :

格式说明

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
case 列名

    when  条件值1  then  选择项1

    when  条件值2   then  选项2.......

    else   默认值    end

eg:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select
    case   job_level
    when   '1'   then   '1111'
    when   '2'   then   '1111'
    when   '3'   then   '1111'
    else    'eee' end
    from   dbo.employee

第二种 格式 :Case搜索函数

格式说明

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
case  

    when  列名= 条件值1  then  选择项1

    when  列名=条件值2   then  选项2.......

    else   默认值 end

eg:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
update  employee
    set     e_wage =
    case
    when  job_level = '1'   then e_wage*1.97
    when  job_level = '2'  then e_wage*1.07
    when  job_level = '3'  then e_wage*1.06
    else   e_wage*1.05
    end

提示:通常我们在写Case When的语句的时候,会容易忘记 end 这个结束,一定要记得哟!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/197881.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月3日 上,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
数据库 casewhen 的用法「建议收藏」
select     case   job_level     when ‘1’ then ‘1111’     when  ‘2’ then ‘1111’     when  ‘3’ then ‘1111’     else ‘eee’ end     from dbo.employee
全栈程序员站长
2022/10/04
5100
数据库 casewhen 的用法「建议收藏」
常用 SQL 语句大全[通俗易懂]
—语 句 功 能 —数据操作 SELECT —从数据库表中检索数据行和列 INSERT —向数据库表添加新数据行 DELETE —从数据库表中删除数据行 UPDATE —更新数据库表中的数据 —数据定义 CREATE TABLE —创建一个数据库表 DROP TABLE —从数据库中删除表 ALTER TABLE —修改数据库表结构 CREATE VIEW —创建一个视图 DROP VIEW —从数据库中删除视图 CREATE INDEX —为数据库表创建一个索引 DROP INDEX —从数据库中删除索引 CREATE PROCEDURE —创建一个存储过程 DROP PROCEDURE —从数据库中删除存储过程 CREATE TRIGGER —创建一个触发器 DROP TRIGGER —从数据库中删除触发器 CREATE SCHEMA —向数据库添加一个新模式 DROP SCHEMA —从数据库中删除一个模式 CREATE DOMAIN —创建一个数据值域 ALTER DOMAIN —改变域定义 DROP DOMAIN —从数据库中删除一个域 —数据控制 GRANT —授予用户访问权限 DENY —拒绝用户访问 REVOKE —解除用户访问权限 —事务控制 COMMIT —结束当前事务 ROLLBACK —中止当前事务 SET TRANSACTION —定义当前事务数据访问特征 —程序化SQL DECLARE —为查询设定游标 EXPLAN —为查询描述数据访问计划 OPEN —检索查询结果打开一个游标 FETCH —检索一行查询结果 CLOSE —关闭游标 PREPARE —为动态执行准备SQL 语句 EXECUTE —动态地执行SQL 语句 DESCRIBE —描述准备好的查询 —局部变量 declare @id char(10) –set @id = ‘10010001’ select @id = ‘10010001’
全栈程序员站长
2022/06/25
5660
SQL之CASE WHEN用法详解
[Err] ORA-00932: 数据类型不一致: 应为 CHAR, 但却获得 NUMBER
全栈程序员站长
2022/06/24
6890
SQL之CASE WHEN用法详解
SQL命令 ORDER BY(一)
ORDER BY子句根据指定列的数据值或以逗号分隔的列序列对查询结果集中的记录进行排序。 该语句对单个结果集进行操作,这些结果集要么来自SELECT语句,要么来自多个SELECT语句的UNION。
用户7741497
2022/05/06
2.6K0
SQL基础--> 数据处理(DML、RETURNING、MERGE INTO)
--=================================================
Leshami
2018/08/07
8840
MySQL系列专题(2)-MySQL的SQL语句和高级特性
一、 DML 操作【重点】 ---- 1.1 新增(INSERT) INSERT INTO 表名(列 1,列 2,列 3…) VALUES(值 1,值 2,值 3…); 1.1.1 添加一条信息 #添加一条工作岗位信息 INSERT INTO t_jobs(JOB_ID,JOB_TITLE,MIN_SALARY,MAX_SALARY) VALUES('JAVA_Le','JAVA_Lecturer',2500,9000); #添加一条员工信息 INSERT INTO `t_employees` (EM
用户4919348
2022/01/06
3.7K0
MySQL系列专题(2)-MySQL的SQL语句和高级特性
mysql的case when语法_sql基本语句大全
CASE 具有两种格式:简单 CASE 函数将某个表达式与一组简单表达式进行比较以确定结果。 CASE 搜索函数计算一组布尔表达式以确定结果。 两种格式都支持可选的 ELSE 参数。
全栈程序员站长
2022/10/04
3.5K0
mysql的case when语法_sql基本语句大全
sql语句面试经典50题_sql基础知识面试题
========================================================
全栈程序员站长
2022/08/03
2.9K0
sql语句面试经典50题_sql基础知识面试题
SQL语句大全大全(经典珍藏版)
大家好,又见面了,我是你们的朋友全栈君。 SQL语句大全 –语 句 功 能 –数据操作 SELECT –从 数据库 表中检索数据行和列 INSERT –向数据库表添加新数据行 DELETE –从数据库表中删除数据行 UPDATE –更新数据库表中的数据 -数据定义 CREATE TABLE –创建一个数据库表 DROP TABLE –从数据库中删除表 ALTER TABLE –修改数据库表结构 CREATE VIEW –创建一个视图 DROP VIEW –从数据库中删除视图 CREATE INDEX –为数据库表创建一个索引 DROP INDEX –从数据库中删除索引 CREATE PROCEDURE –创建一个存储过程 DROP PROCEDURE –从数据库中删除存储过程 CREATE TRIGGER –创建一个触发器 DROP TRIGGER –从数据库中删除触发器 CREATE SCHEMA –向数据库添加一个新模式 DROP SCHEMA –从数据库中删除一个模式 CREATE DOMAIN –创建一个数据值域 ALTER DOMAIN –改变域定义 DROP DOMAIN –从数据库中删除一个域 –数据控制 GRANT –授予用户访问权限 DENY –拒绝用户访问 REVOKE –解除用户访问权限 –事务控制 COMMIT –结束当前事务 ROLLBACK –中止当前事务 SET TRANSACTION –定义当前事务数据访问特征 –程序化SQL DECLARE –为查询设定游标 EXPLAN –为查询描述数据访问计划 OPEN –检索查询结果打开一个游标 http://hi.baidu.com/ttcc2009 FETCH –检索一行查询结果 CLOSE –关闭游标 PREPARE –为动态执行准备SQL 语句 EXECUTE –动态地执行SQL 语句 DESCRIBE –描述准备好的查询 —局部变量 declare @id char(10) –set @id = ‘10010001’ select @id = ‘10010001’ —全局变量 —必须以@@开头 –IF ELSE declare @x int @y int @z int select @x = 1 @y = 2 @z=3 if @x > @y print ‘x > y’ –打印字符串’x > y’ else if @y > @z print ‘y > z’ else print ‘z > y’ –CASE use pangu update employee set e_wage = case when job_level = ‟1‟ then e_wage*1.08 when job_level = ‟2‟ then e_wage*1.07 when job_level = ‟3‟ then e_wage*1.06 else e_wage*1.05 end –WHILE CONTINUE BREAK declare @x int @y int @c int select @x = 1 @y=1 http://hi.baidu.com/ttcc2009 while @x < 3 begin print @x –打印变量x 的值 while @y < 3 begin select @c = 100*@x + @y print @c –打印变量c 的值 select @y = @y + 1 end select @x = @x + 1 select @y = 1 end –WAITFOR –例 等待1 小时2 分零3 秒后才执行SELECT 语句 waitfor delay ‟01:02:03‟ select * from employee –例 等到晚上11 点零8 分后才执行SELECT 语句 waitfor time ‟23:08:00‟ select * from employee ***SELECT*** select *(列名) from table_name(表名) where column_name operator value ex:(宿主) select * from stock_information where stockid = str(nid) stockname = ‘str_name’ stockname like ‘% find this %’ stockname like ‘[a-zA-Z]%’ ——— ([]指定值的范围) stockname like ‘[^F-M]%’ ——— (^排除指定范围) ——— 只能在使用like关键字的where子句中使用通配符) or stockpath = ‘stock_path’ or stocknumber < 1000 and stocki
全栈程序员站长
2022/08/31
1.4K0
SQL命令 SELECT(三)
列别名在结果集中显示为列标题。指定列别名是可选的;始终提供默认值。列别名以指定的字母大小写显示;但是,当在ORDER BY子句中引用时,它不区分大小写。C别名必须是有效的标识符。C别名可以是分隔的标识符。使用带分隔符的标识符允许列别名包含空格、其他标点符号或作为SQL保留名称。例如,SELECT Name AS "Customer Name" or SELECT Home_State AS "From"。
用户7741497
2022/05/06
2.2K0
SQL去重语句_sql中文
sql语句通过DISTINCT关键字去重, 用于返回唯一不同的值。DISTINCT关键字需要搭配SELECT 语句使用,语法为SELECT DISTINCT 列名称 FROM 表名称。如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中,否则会出现错误。
全栈程序员站长
2022/11/10
1.1K0
SQL命令 SELECT(二)
这是所有SELECT语句的必选元素。 通常,选择项指的是FROM子句中指定的表中的一个字段。 选择项由下列一个或多个项组成,多个项之间用逗号分隔:
用户7741497
2022/05/06
1.9K0
2-SQL语言中的函数
出现在其他语句中的select语句,称为子查询或内查询 外部出现的查询语句,称为主查或外查询
Ywrby
2022/10/27
2.8K0
sql执行顺序的优先级是多少_sql执行语句的顺序
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/16
1K0
【Hive】SQL语句大全
继承 org.apache.hadoop.hive.ql.udf.generic.GenericUDTF;
全栈程序员站长
2022/08/30
2.5K0
SQL简介
注意:insert 只有new,delete 只有old ,oracle 自动添加id
Dean0731
2020/05/11
2.7K0
常用SQL语句和语法汇总
近几年数据库发挥了越来越重要的作用,这其中和大数据、数据科学的兴起有不可分割的联系。学习数据库,可以说是每个从事IT行业的必修课。你学或不学,它就在那里;你想或不想,你都得学。 大一的时候,我选了一门名为《Android应用程序开发》的选修课。那个时候啥都不懂,就感觉这个名字比较高端,然后就去了。学习一学期,也就是在电脑上装上了Android应用程序的开发环境。由于我的笔记本太撇,每次运行Android虚拟机就会卡的要死。好吧,我承认最后期末考试我挂了,很悲痛的经历,选修课竟然也会挂(其实主要是我太菜,没有
爱吃西瓜的番茄酱
2018/04/04
3.1K0
MySQL基础学习笔记
1.基础概念 1.1 相关概念与常用命令 数据库的好处 1.持久化数据到本地 2.可以实现结构化查询,方便管理 常见概念 1、DB:数据库,保存一组有组织的数据的容器 2、DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据 3、SQL: 结构化查询语言,用于和DBMS通信的语言 数据库存储数据的特点 1、将数据放到表中,表再放到库中 2、一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性。 3、表具有一些特性,这些特性定义了数据在表中如何存储,类似java中“
素履coder
2022/02/17
1.1K0
MySQL数据库完整知识点梳理----保姆级教程!!!
在字段名前面加上DISTINCT ,这里对于重复的字段,就只会显示最先出现的那个,后面重复的不会显示
大忽悠爱学习
2021/11/15
6K0
SQL语句面试题目_sql基础知识面试题
表结构,节选自:http://www.cnblogs.com/qixuejia/p/3637735.html 题目一,节选,自:https://wenku.baidu.com/view/cda288f1b90d6c85ed3ac671.html 题目二,节选,自:http://www.cnblogs.com/qixuejia/p/3637735.html (为了满足“题目”查询条件,在原文的基础上,插入的测试语句中”增加了几条sc,新增了条Course,修改了student的部分年龄)
全栈程序员站长
2022/09/27
8960
相关推荐
数据库 casewhen 的用法「建议收藏」
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文