首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

T-SQL基础(一)之简单查询

谓语只关心匹配行是否存在,而不管SELECT中指定属性,就像整个SELECT子句是多余一样。...如,WHERE子句中多个表达式计算并没有确定顺序。 CASE...WHEN... CASE表达式是标量表达式,返回一个符合条件值。注意,CASE表达式,不是语句,与COUNT类似。...CASE表达式有两种使用方式: CASE后面带有列名 这种情况下,WHEN句中只能使用标量或返回标量表达式,这种形式称为简单格式。...CASE后面不带列名 这种情况下,WHEN句中只能使用逻辑表达式,这种形式称为搜索格式。...通常单表查询仅需一句SELECT语句即可,简单且数据库 联接查询 INNER JOIN、LEFT JOIN、RIGHT JOIN、CROSS JOIN 查询 SQL可以在一个查询语句中编写另外一个查询语句

4.1K20

SQL】作为前端,应该了解SQL知识(第三弹)

视图 使用表,会将数据保存在存储设备(硬盘上) 而使用视图,并不会将数据保存在存储设备上,也不会将数据保存在任何地方。...缺点:多重视图会降低 SQL 性能 视图限制 定义视图,不能使用order by 子句 视图更新限制 SELECT句中未使用DISTINCT FROM 子句中只有一张表 未使用GROUP...注意: 在OracleFROM子句中,不能使用AS 尽量避免多层查询 执行顺序: 内层查询 ——> 外层查询 标量子查询 就是返回一行一列查询 一般情况下,标量子查询 返回值 可以用在...CASE表达式 Oracle中DECODE就是CASEWHEN … 语句 条件分支语句。...CASE WHEN THEN WHEN THEN WHEN THEN . . .

14620
您找到你想要的搜索结果了吗?
是的
没有找到

Hive3查询基础知识

[WHERE expression]; 根据可选WHERE子句中指定条件,UPDATE语句可能会影响表中每一行。WHERE子句中表达式必须是Hive SELECT子句支持表达式。...查询是内部查询中SQL表达式,它将结果集返回到外部查询。从结果集中,评估外部查询。外部查询是包含内部查询主要查询。WHERE子句中查询包含查询谓词和谓词运算符。谓词是计算为布尔值条件。...查询限制 为了有效地构造查询,您必须了解WHERE子句中查询限制。 • 查询必须出现在表达式右侧。 • 不支持嵌套子查询。 • 单个查询只能有一个查询表达式。...CTE是从在WITH子句中指定简单查询获得一组查询结果,该子句紧随SELECT或INSERT关键字。CTE仅存在于单个SQL语句范围内,而不存储在metastore中。...TABLE s1 SELECT *; 转义非法标识符 当您需要在列或分区名称中使用保留字、特殊字符或空格,请将其括在反引号(`)中。

4.6K20

SQL嵌套查询_sql差集嵌套

SQL CTE( 公用表表达式 ) 定义语法: with 公用表表达式名称 所涉及列(非全选) 一个 SELECT 语句,在 AS 之后紧跟。...并不在其定义句中调用其自身 CTE 非递归公用表表达式( CTE )使用方式和 视图 以及 查询 一致 递归公用表表达式: 流程控制语句 BEGIN……END...GOTO lable … lable, WAITFOR 语句 WAITFOR 语句可以在某一个时间或某一间间隔之后执行 SQL 语句,语句块,存储过程等。...’16:00:00′ select * from test01; case 语句 语法: case< 表达式 > when< 条件表达式 1>then< 表达式 1> when...< 条件表达式 2>then< 表达式 2> …… else< 表达式 n> — 简单 Case 函数 CASE sex WHEN ‘1’ THEN ‘ 男 ‘ WHEN

2.2K20

Greenplum查询优化揭秘

“false” 3、简化CASE表达式 CASE WHEN 2+2 = 4 THEN x+1 ELSE 1/0 END = > x + 1 ... not “ERROR:division by zero...内连简单SQL函数 create function incr4(int) returns int as ‘select $1 + ( 2 + 2 ) ’ LANGUAGE SQL; select incr4...(a) from foo; == > Select a + 4 from foo; 为什么使用内联简单SQL函数 1、避免SQL函数调用代价 2、为简化常量表达式提供新机会 2.1.1.3 提升...IN,EXISTS类型链接 链接是指吃现在表达式查询,通常出现在where或join/on子句中 select * from foo where exists (select 1 from...优化后内部结构图 2.1.1.4 提升查询 查询一般以范围表方式存在,通常出现在from字句中 select * from foo join (select bar.c from bar

1.1K31

SQL进阶-1-case使用

SQL进阶-1-case语句 认真把SQL语言提升下,选择了日本一本书籍。...' end -- 搜索 case when sex='1' then '男' when sex='2' then '女' else '其他' end 简单表达式能够写搜索表达式都能写 注意事项...案例2-数字大小分类 表格同上 需求 将不同数字按照类别进行分组表示 SQL实现 -- 按照人口数量等级划分 select case when population < 100 then '01'...group by std_id; 新手使用having进行分支,熟练之后可以使用select语句进行分支 总结 case表达式可以写在select子句里,可以写在聚合函数内部,也可以是外部...能够写列名和常量位置,都可以使用case语句 case表达式可以写在select、group by、having、where、order by子句中 case表达式是一种表达式,而不是语句,具有更好可移植性

69610

常用SQL语句和语法汇总

FROM WHERE ; SQL常用规则2 SQL语句可以使用AS关键字为列设定别名,设定汉字别名需要使用双引号(’’)括起来 在SELECT句中可以使用DISTINCT...形式表现出来 使用GROUP BY 子句SELECT句中不能出现聚合键之外列名 在GROUP BY子句中不能使用SELECT句中定义别名 只有在SELECT子句、ORDER BY子句和HAVING...ORDER BY子句通常写在SELECT语句末尾 排序键包含NULL,会在开头或者末尾进行汇总 在ORDER BY子句中可以使用SELECT句中定义别名 在ORDER BY子句中可以使用SELECT...CASE 表达式 CASE WHEN THEN WHEN THEN WHEN...ELSE END SQL常用规则6 谓词就是返回值为真值函数 通常指定关联查询作为EXIST参数 作为EXIST参数查询中经常会使用SELECT * CASE表达式END不能省略

3.1K80

《SQLSERVER2012之T-SQL教程》T-SQL单表查询(二)「建议收藏」

句中可能值列表进行比较。...同时操作 SQL支持一个称作同时操作概念,意思是出现在同意逻辑处理阶段所有表达式在同一间点进行逻辑计算,例如: SELECT col1, col2 FROM dbo.T1 WHERE...遗憾是,SQL Server不支持短路,它基于标准SQL同事操作概念,SQL Server可以按任意顺序自由处理WHERE子句中表达式。...所以如果先执行了col2/col1>2这个表达式,而col1为0,那么就会导致执行失败。 有几种方法可以避免同时操作导致执行失败。...例如,CASE表达式WHEN子句计算顺序是有保证,可以按如下方式修改: SELECT col1, col2 FROM dbo.T1 WHERE CASE WHEN col1 = 0

1.7K20

《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(上)

(7)CASE表达式   ① 简单表达式:将一个值与一组可能取值进行比较,并返回满足第一个匹配结果; SELECT productid,productname,categoryid,categoryname...Production.Products;   ② 搜索表达式:将返回结果为TRUE第一个WHEN逻辑表达式所关联THEN子句中指定值。...如果没有任何WHEN表达式结果为TRUE,CASE表达式则返回ELSE子句中出现值。...非NULL值得表达式返回值为0,因此,它们会排在NULL值(表达式返回1)前面。如上所示CASE表达式作为第一个拍序列,并把region列指定为第二个拍序列。...MSSQL中支持4种类型表达式: 3.1 派生表   派生表(也称为表查询)是在外部查询FROM子句中定义,只要外部查询一结束,派生表也就不存在了。

1.9K51

算法工程师-SQL进阶:强大Case表达式

表达式(功能覆盖了简单case,因此更常用) CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END case表达式在书写注意事项...END 解析:当使用case表达式,你要注意,case表达式结果是一个值。...值在SQL句中位置非常灵活,可以放在select、where以及group by等多个地方。 在本题中要注意sql先执行group by,然后最后在执行select。...当sql执行group by,会根据case设定分支规则将每一行映射为一个值,映射完成后,在根据映射完种类将每行进行归组;当执行select语句,每个组组名是什么呢?...,在select句中使用了两个case表达式,第一个case表达式是将所有sex!

2K20

掌握这些SQL面试题再也不怕面试懵逼了

select 课程号, sum(case when 成绩>=60 then 1 else 0 end) as 及格人数 sum(case when 成绩<60 then 1 else 0 end)...select 学号, max(case 课程号 when '0001' then 成绩 else 0 end) as '课程号0001', max(case 课程号 when '0002' then 成绩...一般在写SQL需要注意哪些问题,可以提高查询效率? 1. select句中尽量避免使用*,多表连接用*更慢。...2. where子句比较符号左侧避免函数:尽量避免在where条件子句中,比较符号左侧出现表达式、函数等操作。因为这会导致数据库引擎进行全表扫描,从而增加运行时间。...where 成绩 + 5 › 90 (表达式在比较符号左侧) 优化方法: where 成绩 › 90 – 5(表达式在比较符号右侧) 3.

47041

如何快速搞定SQL面试题?这5步法给你答案

为了帮助你更好理解“5步法SQL解题步骤”,我通过一个案例来说明白。 【案例】用5步法解题:房源评分统计 表1 所示为各城市房源评分表,表名为“评分表”,含有3个字段:房源号、城市、分数。...找出考点 通过问题拆解,可以发现这个题目是“分区间问题”,考查SQL 知识是“复杂查询”里多条件判断case 表达式。 4....“分区间问题”本质是多条件判断,要想到用SQLcase 表达式知识来实现。 case 表达式用法如下。...在第(1)步SQL句中,每个case 表达式前面加上计数函数count(),用于统计每个区间房源数量。...组合实现 把前面两个步骤SQL 语句组合在一起,就是完整代码,如下所示: select count(case when 分数<5 then 房源号 end) as '0-5', count(case

9510

SQL Cookbook》 - 第一章 检索数据

朋友推荐了一本书《SQL Cookbook》,翻译过来就是《SQL经典实例》,讲都是SQL编写层面的案例,例如获得随机数、NULL值判断、求中位数、日期计算等,都是日常工作中可能用到,但是有些知识点可能稍微模糊...在SELECT句中指定具体列名,可以确保查询语句不会返回无关数据。当在整个网络范围内检索数据,这样做更重要,因为他避免了将时间浪费在检索不需要数据上。 2....可以为CASE表达式执行结果取一个别名,让结果集更有可读性。...ELSE子句是可选,若没有他,对于不满足测试条件行,CASE表达式会返回NULL, select ename, sal, case when sal <= 2000 then 'UNDERPAID...,但是明显COALESCE函数更加方便、更简洁, select case        when c is not null then c        else 0        end from

84020

SQL CASE 表达式

简单表达式SELECT CASE city WHEN '北京' THEN 1 WHEN '天津' THEN 2 ELSE 0 END AS abc FROM test 搜索表达式SELECT...FROM test 只要 SQL 表达式存在聚合函数,那么整个表达式都聚合了,此时访问非聚合变量没有任何意义。...这个特性可以解决很多实际问题,比如将一些复杂聚合判断条件结果用 SQL 结构输出,那么很可能是下面这种写法: SELECT CASE WHEN 聚合函数(字段) 符合什么条件 THEN xxx ......'no' END AS abc FROM test 原因是,只要 SQL存在聚合表达式,那么整条 SQL 就都是聚合,所以返回结果只有一条,而我们期望查询结果不聚合,只是判断条件用到了聚合结果...因为查询聚合发生在查询,而不影响当前父查询,理解了这一点,就知道为什么下面的写法才是正确了: SELECT CASE WHEN pv > ( SELECT avg(pv) from test )

78130
领券