常用的sql语句..docx
文本预览下载声明
/rainman/archive/2013/05/04/3060428.htmlSQL Server中常用的SQL语句/rainman/archive/2013/05/04/3060428.html1、概述/rainman/archive/2013/05/04/3060428.html2、查询概述/rainman/archive/2013/05/04/3060428.html3、单表查询/rainman/archive/2013/05/04/3060428.html4、连接查询/rainman/archive/2013/05/04/3060428.html5、带有exists的相关子查询/rainman/archive/2013/05/04/3060428.html6、SQL的集合操作/rainman/archive/2013/05/04/3060428.html7、插入操作/rainman/archive/2013/05/04/3060428.html8、删除操作/rainman/archive/2013/05/04/3060428.html9、修改操作/rainman/archive/2013/05/04/3060428.html10、数据定义/rainman/archive/2013/05/04/3060428.html11、视图1、概述名词笛卡尔积、主键、外键数据完整性实体完整性:主属性不能为空值,例如选课表中学号和课程号不能为空参照完整性:表中的外键取值为空或参照表中的主键用户定义完整性:取值范围或非空限制,例如:性别(男女),年龄(0-130) 表连接自然连接:与等值连接(a.id=b.id)相比,连接后的表只有一列id,而不是两列(a.id和b.id)。半连接:与等值连接(a.id=b.id)相比,连接后的表只有A表的列,被B表“多次匹配”列会显示为一行。左外连接:left join右外连接:right join全外连接:full join全内连接:inner joinSQL语言的构成DDL语言:数据定义,定义基本表、视图、索引;DML语言:数据操纵,查询、增加、修改、删除DCL语言:权限 2、查询概述查询包括:单表查询、连接查询、带有exists的相关子查询、集合操作四中。select...from常用语句执行过程select…⑤ 投影from…① table→内存where…② 选取元组group…③ 分组having…④ 选择分组[{union|…}⑥ 查徇结果的集 合运算select… ]①~⑤order by…⑦ 排序输出3、单表查询group by 只有出现在group by子句中的属性,才可出现在select子句中。用order by子句对查询结果按照一个或多个列的值进行升/降排列输出,升序为ASC;降序为desc,空值将作为最大值排序having 与 where的区别where 决定哪些元组被选择参加运算,作用于关系中的元组having 决定哪些分组符合要求,作用于分组4、连接查询连接查询包括:多表连接查询、单表连接查询(自连接)、外连接查询、嵌套查询4种连接条件一[表名1.] 列名1 比较运算符 [表名2.]列名2连接条件二[表名1.]列名1 between [表名2.]列名2 and [表名2.]列名3连接条件中的列名称为连接字段,对应的连接字段应是可比的。执行过程:采用表扫描的方法,在表1中找到第一个元组,然后从头开始扫描表2,查找到满足条件的元组即进行串接并存入结果表中;再继续扫描表2,依次类推,直到表2末尾。再从表1中取第二个元组,重复上述的操作,直到表1中的元组全部处理完毕。4.1 单表连接(自连接)用表别名把一个表定义为两个不同的表进行连接。例:查找至少选修了2号和4号课程的学生的学号select FIRST.snofrom SC as FIRST, SC as SECOND where FIRST.Sno=SECOND.Sno and FIRST.cno=s2 and SECOND.cno=44.2 外连接查询外连接查询包括:Left join、right join、full join4.3 嵌套查询在select … from … where语句结构的where子句中可嵌入一个select语句块其上层查询称为外层查询或父查询,其下层查询称为内层查询或子查询SQL语言允许使用多重嵌套查询在子查询中不允许使用order by子句嵌套查询的实现一般是从里到外,即先进行子查询,再把其结果用于父查询作为条件4.3.1 返回单个值的子查询例:求与“刘力”同一个系的学生名,年龄方法一:select Sname, Sage from student where Sdept = (select
显示全部