数据库SQL Server2012笔记(四)——多表查询、子查询、分页查询、用查询结果创建新表和外连接
2017-06-16 09:34
429 查看
1、多表查询
1)笛卡尔集:
select * from 表名1,表名2
select * from 表名1。表名2 where 表名1.字段名=表名2.字段名
注:
若有两张表有同样名字的字段,则使用时需带表名(别名)。
order by 置于where 条件之后。
2)自连接:同一张表的连接查询。将一张表视为两张表或多张表。
eg:显示公司每一个员工名字和他的上级的名字。将emp表看做两张表worker和boss
select worker.ename 雇员,boss.ename 老板 from emp worker,emp boss where worker.mgr=boss.empno
2、子查询(嵌套查询):嵌入在其他sql语句中的select语句。
1)单行子查询:仅仅返回一行数据的子查询语句。
2)多行子查询:返回多行数据的子查询。
3)在from子句中使用子查询。
说明:
当在from子句中使用子查询时,该子查询会被作为一个视图(暂时表)来对待,因此也叫做内嵌视图。
当在from子句中使用查询时。必须给子查询指定别名。
3、分页查询
1)top n:前n条记录。
select top 5 * from emp order by hiredate
显示第5个到第9个人的信息(按sal高低)
select top 5 from emp where empno not in (select top 4 empno from emp order by sal desc) order by sal desc
identity(1,1):表示字段自增长,从“1”開始增长。每次加“1”。
create table test (testId int primary key identity(1,1))
4、用查询结果创建新表
select * into 还有一个表名 from 表名
删除表中的反复记录
select distinct * into #temo(新表) from 表名1
delete from 表名1
insert into 表名1 select * from #temp
drop table #temp
5、外连接:
左外连接:左边的表的记录所有显示,假设没有匹配的记录,用Null填补。
右外连接:右边的表的记录所有显示。假设没有匹配的记录,用Null填补。
1)笛卡尔集:
select * from 表名1,表名2
select * from 表名1。表名2 where 表名1.字段名=表名2.字段名
注:
若有两张表有同样名字的字段,则使用时需带表名(别名)。
order by 置于where 条件之后。
2)自连接:同一张表的连接查询。将一张表视为两张表或多张表。
eg:显示公司每一个员工名字和他的上级的名字。将emp表看做两张表worker和boss
select worker.ename 雇员,boss.ename 老板 from emp worker,emp boss where worker.mgr=boss.empno
2、子查询(嵌套查询):嵌入在其他sql语句中的select语句。
1)单行子查询:仅仅返回一行数据的子查询语句。
2)多行子查询:返回多行数据的子查询。
3)在from子句中使用子查询。
说明:
当在from子句中使用子查询时,该子查询会被作为一个视图(暂时表)来对待,因此也叫做内嵌视图。
当在from子句中使用查询时。必须给子查询指定别名。
3、分页查询
1)top n:前n条记录。
select top 5 * from emp order by hiredate
显示第5个到第9个人的信息(按sal高低)
select top 5 from emp where empno not in (select top 4 empno from emp order by sal desc) order by sal desc
identity(1,1):表示字段自增长,从“1”開始增长。每次加“1”。
create table test (testId int primary key identity(1,1))
4、用查询结果创建新表
select * into 还有一个表名 from 表名
删除表中的反复记录
select distinct * into #temo(新表) from 表名1
delete from 表名1
insert into 表名1 select * from #temp
drop table #temp
5、外连接:
左外连接:左边的表的记录所有显示,假设没有匹配的记录,用Null填补。
右外连接:右边的表的记录所有显示。假设没有匹配的记录,用Null填补。
相关文章推荐
- 数据库SQL Server2012笔记(四)——多表查询、子查询、分页查询、用查询结果创建新表和外连接
- Java连接HBASE数据库,创建一个表,删除一张表,修改表,输出插入,修改,数据删除,数据获取,显示表信息,过滤查询,分页查询,地理hash
- java 创建连接oracle 数据库并查询数据
- 数据库查询结果分页原理
- 数据库SQL Server2012笔记(三)——表的复杂查询
- Java_jdbc 基础笔记之八 数据库连接(写一个查询Student对象的方法)
- ORACLE创建数据库链接时,查询时出现无法无法解析指定的连接标示符
- 数据库的相关操作:如连接、查询、添加、删除、修改、分页显示
- Java的MyBatis框架中实现多表连接查询和查询结果分页
- JDBC 数据库连接 创建表格、插入、查询、删除、修改数据 基本操作
- asp.net mvc 3.0详细笔记__09__创建数据库,应用EF连接模型类和数据表
- php常用代码剪辑(mysql连接数据库,web常用查询,分页,读取,js)
- 关于怎么C#控制台窗口中怎么创建连接查询数据库操作
- Java_jdbc 基础笔记之九 数据库连接 (查询Customer对象的方法)
- android 学习笔记 数据库的创建, 查询 和删除表内的信息
- 重点:java后端直接连接数据库实现查询获取结果 jdbc
- 连接数据库,并将结果 显示分页
- MySQL中数据结果集分页功能的实现方法;数据库查询返回特定结果即分页查询
- 自学--数据库笔记--第四篇--多表连接查询
- mysql笔记十——数据库分页技术(再分页,模糊查询)