sqlserver 数据库学习笔记
发布时间:2024-01-14 21:54:33
1,exists和in的理解(参考https://www.jb51.net/article/28922.htm)
exists:如果子查询中包括某一行,那么就为TRUE
in:如果操作数为TRUE等于表达式列表中的一个,那么就为TRUE
exists总是搞得不太明白
select 。。。from。。。where 。。。
where就相当于一个判断条件,只有where后面的表达式运算结果为TRUE,前面的才能select出来
EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False
1: SELECT c.CustomerId, CompanyName 2: FROM Customers c 3: WHERE EXISTS( 4: SELECT OrderID FROM Orders o 5: WHERE o.CustomerID = cu.CustomerID)
像这样的EXISTS子查询中的SELECT什么根本不重要,因为子查询只是检查这个表中有没有满足WHERE后条件的行, 有就返回TRUE,没有就FALSE,所以很多EXISTS后都是SELECT的*
一行行的去判定,EXISTS返回的是TRUE,就是存在,则把这行的相关信息输出
1: select distinct 姓名 from xs 2: where not exists ( 3: select * from kc 4: where not exists ( 5: select * from xs_kc 6: where 学号=xs.学号 and 课程号=kc.课程号 )
分析下上面的查询语句:
把最外层的xs表里的记录一行一行的同中层一行一的笛卡尔乘积后拿到里面去检验
在最里层,如果xs_kc表里的某行有拿来检验的这行的学号,同时有中层拿来检验的课程号
就返回TRUE,说明这个这个学生选了这门课
中层如果某门课程没有收到返回的TRUE信息,说明这个名字和课程的搭配在xs_kc表中没有,或者说中层select出来的是没有被这个学生选择的课程信息,如果有这样的课程,就向最外层返回个TRUE
最外层在返回信息上加了not,即最外层找的是这样的一种学生:
他选择了所有的课程
最外层一行行的去检测,如果他满足这个条件,就输出他的姓名且只输出一次
我这是一层层的分析,还有么有什么别的办法?
2,select。。。into @。。。
和select @。。。 = 。。。应该是相同的吧
3,用AS为列重命名似乎比=更好点,和赋值区分开
4,用compute汇总的时候,如果是根据某列汇总的,先要order by此列,然后在compute相应信息,最后by此列
group或者compute的时候,如果by了某列,select里都要出现相同的列
区别是group的聚合函数在select行中(称为选择列表),而compute的聚合函数在compute行中,同时compute可以不带by,对所有行汇总
猜你喜欢
- 客户端调用XMLHTTP的过程很简单,只有5个步骤: 1、创建XMLHTTP对象 2、打开与服务端的连接,同时定义指令发送方式,服务网页(U
- 如下所示:import xlrdimport pandas as pdfrom pandas import DataFrameDATA_DI
- 之前想爬取一些淘宝的数据,后来发现需要登录,找了很多的资料,有个使用request的sessions加上cookie来登录的,cookie的
- 如下:import pandas as pddf = pd.DataFrame({'Country':['China
- 看到这个标题,你我可能都笑了。你会笑,因为你以为这个东西太小儿科了,还用得着做一个标题?!我会笑,是因为我确信你看完后会改变你的想法。首先我
- 当我们经常在代码中使用 Python 字符串时,您可能需要以相反的顺序使用它们。Python 包含一些方便的工具和技术,可以在这些情况下为您
- 因AJAX接受数据时服务器默认是采用UTF-8的编码形式进行传送,所以在很多GB2312中文网页中应用AJAX回传数据经常会发生中文乱码。解
- 简述mat参照了函数设计,plot表示绘图的作用,lib则表示一个集合。今年在开源社区的推动下,Matplotlib在科学计算领域得到了广泛
- 编写思路:把本地文件在客户端通过base64编码以后发送目的地.测试过程中,上传文件过大,导致超时不成功,后来经过改善.把编码分
- 1. 一个简单的字典我们先从写一个简单的字典示例开始,顺便看一下 python 字典的语法。student ={'姓名':&
- 1998年,W3C发布HTML 4.0 Specification,里面清清楚楚的写了每个标签的用法和语义。搜索引擎的算法参考了W3C的语义
- 引言:本文是学习Turtle库时,发现两种方法都能改变画笔的方向,但二者又不是完全相同,故对其加以辨析总结到此,在本文你将收获:1.两种改变
- 无论是在小得可怜的免费数据库空间或是大型电子商务网站,合理的设计表结构、充分利用空间是十分必要的。这就要求我们对数据库系统的常用数据类型有充
- 可实现功能:1.随机生成一个整数。2.随机生成任意范围内的一个整数。3.随机生成指定长度的整数组4.随机生成指定长度的任意范围的整数组5.随
- 先去下载一个叫SWFToImage.dll的东西 再建立一个bat文件,并运行: COPY SWFToImage.dll %windir%\
- 已经11月了,不知道还有没有人看华强买瓜。。。要把华强卖瓜做成字符视频,总共分为三步读取视频把每一帧转为字符画把字符画表现出来 读
- 本文是关于人物角色的一些简单介绍,感谢瑶芝同学提供的大力帮助! 人物角色(Personas)作为一种技术
- 常用字段类型bit(0和1),datetime,int,varchar,nvarchar(可能含有中文用nvarchar) Varchar,
- scipy.optimize.curve_fit解读相比numpy库的多项式拟合函数polyfit,scipy.optimize模块中的函数
- Opencv-Python图像透视变换cv2.warpPerspective代码如下:# -*- coding:utf-8 -*-impor