前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >SQL嵌套查询_sql差集嵌套

SQL嵌套查询_sql差集嵌套

作者头像
全栈程序员站长
发布2022-09-22 17:23:38
发布2022-09-22 17:23:38
2.2K0
举报

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

select top 1 1 from…主要是用来判断表是否有记录

TRUNCATE :删除内容、释放空间但不删除定义,保留数据表的结构

删除目标表中所有字段,不影响表结构

派生表:

派生表就是一个由查询结果生成的临时表。他是在外部查询的 FROM 中定义的。派生表的存在范围只是在外部查询中,只要外部查询结束了,派生表也就不存在了。派生表一定要写在 FROM 后面范围内,用()括起来。后面跟着派生表的名称。

select * from(select a,b from table1) as 666

嵌套子查询的用法:

两个 select 的嵌套查询:

select a.GroupInputName from System_GroupInput A where A.GroupInputCode

in (SELECT b.GroupInputCode FROM System_GroupInputList b WHERE b.GroupInputCode=’TH_NofityStayList’ )

单 select 的嵌套查询:

假设想知道某产品第一天销售产品的 ID 号。又不知道第一天是什么日期。可以用以下的方法查询 :

select A.saledate,A.saleid from saleorderhead A join saleorderdetail B

on A.saleid=B.saleid

where (select min(saledate) from saleorderdetail )

可以用以下的嵌套查询方法

在代码中加入主键(索引)方法:

1. 在创建列的时候创建完列的时候加入 primary key

2. 在创建完所需列之后。在下面加入

constraint (索引名称) unique (关联列 1 ,关联列 2 )

HAVING 字句设置 GROUP BY 字句形成分组的条件! HAVING 接 GROUP BY 后面,在 ORDER BY 前面。

创建外键的方式: constraint 外键名 foreign key (需要放数据的列) references 数据来源表(数据来源表的列明)

TOP 字句

select top 1 ( 列名 ) from (表名) where order by (列名)(顺序或逆序)

decimal(18,0)

18 是定点精度, 0 是小数位数。

compute by 计算语句。允许在结果集内产生控制中断和小计,得到更为详尽的记录

实用实例{ compute avg|count|max|min|sum }(表达式)

by (表达式)

自然连接:一种特殊的等值连接,要求需要连接的两个关系需比较的分列是属性完全相同的项,并且将重复属性列去掉。

谓词 IN :

在嵌套查询的结果往往是一个结果集。查询结果集就是用 IN 。 可以理解为 ’=‘

AS 用法:

一: as 可以作为别名的标志。

sql : select name as username form tablename;

解释:上面语句的意思就是查询出 tablename 表中字段 name 的所有记录,并且给 name 别名为 username 。

SQL CTE( 公用表表达式 )

定义语法: with 公用表表达式名称

所涉及的列(非全选)

一个 SELECT 语句,在 AS 之后紧跟。

按照是否递归,可以将公用表( CTE )表达式分为递归公用表表达式和非递归公用表表达式 .

非递归公用表表达式:

非递归公用表表达式( CTE )是查询结果仅仅一次性返回一个结果集用于外部查询调用。并不在其定义的语句中调用其自身的 CTE

非递归公用表表达式( CTE )的使用方式和 视图 以及 子查询 一致

递归公用表表达式:

流程控制语句

BEGIN……END语句

格式:BEGIN

语句

~~~

END

IF……ELSE语句

格式:IF

语句

[ELSE[IF条件表达式]

语句

具体用法:

WHILE 循环语句

用法: WHILE 逻辑表达式

语句

GOTO 语句

GOTO 语句可以使 SQL 语句的执行流程无条件转移到指定的标号位置。常用于 WHILE 和 IF 语句中,做跳出循环用。

GOTO lable

lable,

WAITFOR 语句

WAITFOR 语句可以在某一个时间或某一时间间隔之后执行 SQL 语句,语句块,存储过程等。

WAITFOR{DELAY ‘ 时间 ‘|TIME ‘ 时间 ‘}

waitfor delay ’00:00:10′

select * from test01;

waitfor time ’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’ THEN ‘ 女 ‘ ELSE ‘ 其他 ‘ END –Case 搜索函数 CASE WHEN sex = ‘1’ THEN ‘ 男 ‘ WHEN sex = ‘2’ THEN ‘ 女 ‘ ELSE ‘ 其他 ‘ END

return 语句

return 语句可以使程序从程序或存储过程中返回。并且之后的语句不再执行。

return 整型表达式

变量

变量分局部变量和全局变量,全局变量是用来跟踪服务器作用范围和特定的交互过程的,不能由用户自己定义也不能被显式的赋值或生命,其名称是由 @@ 组成的。局部变量是由用户自己定义和赋值的。由 declare 声明。局部变量只能在声明变量的批处理语句或过程体中存在,且首字符为 @ 。

declare @aa 数据类型;或 set @aa= 表达式;

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档