SQL语言基础(4)
UNION将两个或两个以上的查询结果合并为一个结果集,它与使用连接查询合并两个表的列是不同的,使
用UNION合并查询必须遵守:1列的数目和顺序必须一致;2数据的类型必须兼容。
select 语句
UNION [all]
select 语句
可以看到,只要对应字段的类型相同就可以完成合并操作,但是为了有意义,两个查询的结果应该为相同
的含义,否则没有意义。
结果字段名称和union之前的字段名称相同,默认情况下删除结果集中的重复记录,如果希望保留所有记
录,则必须使用all关键字。
使用union时单独的select语句不能包含自己的order by或compute子句,只能在最后使用order by和
compute语句,对最终结果集进行作用。
若需要对查询结果进行分组以及在分组后对结果使用having子句进行过滤,则必须在单独的select语句中
指定group by和having子句。
查询计算机系的学生或者年龄不大于19岁的学生,并按年龄倒排序
select * from student where sdept="计算机"
union
select * from student where sage<=19
order by sage desc
连接查询
根据数据表的逻辑关系从两个或多个数据表中检索数据
定义数据表之间的关联方式:1指定用于联结的字段,典型的联结条件是在一个数据表中指定外键,同事
在另一个数据表中指定与其关联的主键。2在select语句中指定比较各字段值时要使用的逻辑运算符。
联结的类型:内联结;外联结(左向外连接,右向外连接,完整外连接);交叉连接
内联结格式:数据表1 inner join 数据表2 on 联结表达式
指定返回两个表中所有匹配的行。inner是缺省的连接方式
外连接:数据表1 left (outer) join 数据表2 on 联结表达式
左联结数据表1的所有记录都返回,右边字段没有匹配时为空值。
数据表1 right (outer) join 数据表2 on 联结表达式
右联结数据表2的所有记录都返回,左边字段没有匹配时为空值。
完整联结:数据表1 full join 数据表2 on 联结表达式
结果集包括所有记录,没有匹配记录时则将另一数据表选择列表字段置空。
交叉联结:数据表1 cross join 数据表2 (没有where子句的情况下返回笛卡尔乘积)
嵌套查询:外层查询是主查询,内层查询是子查询。SQL允许多层嵌套,order by 子句只能对最终查询结
果进行排序。
比较常用的子查询:where 表达式[not] in (子查询)
&
相关文档:
50个Sql语句,仅供学习!
Student(S#,Sname,Sage,S***) 学生表
Course(C#,Cname,T#) 课程表
SC(S#,C#,score) 成绩表
Teacher(T#,Tname) 教师表
问题:
1、查询“001”课程比“002”课程成绩高的所有学生的学号;
select a.S# from (select s#,score from SC ......
MS SQL SERVER数据库备份BAK还原数据库
由于数据误操作,想恢复一下操作前的数据。于是新建了一个空数据库。使用原来的备份文件 bak。来恢复成一个新的数据库。这样就可以手动恢复数据了。
但是在恢复新建数据库的时候总是不成功,提示错误入下:
The backup set holds a backup of a database other than the existing ......
SQL server安装时时:“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机”错误。
打开注册表编辑器(开始->运行->regedit),在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager中找到PendingFileRenameOperations项目,并删除它。这样 ......
SQL Server在安装到服务器上后,由于出于服务器安全的需要,所以需要屏蔽掉所有不使用的端口,只开放必须使用的端口。下面就来介绍下SQL Server 2008中使用的端口有哪些:
首先,最常用最常见的就是1433端口。这个是数据库引擎的端口,如果我们要远程连接数据库引擎,那么就需要打开该端口。这个端口是可以修改的,在&ldqu ......
上网一查,SQL server2008都出来了,我还是先从基础的学起吧。
SQL server2000的常见版本有:企业版、标准版、个人版、开发版。
企业版:功能全面,应用于大中型产品服务处理器,支持大型网站、联机事务处理,联机分析处理的性能。
标准版:适用于小型工作组,不支持大型数据库,数据仓库和网站的功能,而且不支持所有关 ......