SQLServer基础语法实例应用(二)

  二、实例应用

  1、说明:复制表

  法一:select * into b from a where 1<>1(仅用于SQlServer)

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

--> 测试数据:[a]
if object_id('[a]') is not null drop table [a]
go
create table [a]([ID] int)
insert [a]
select 1 union all
select 1 union all
select 2 union all
select 3 union all
select null
select * from a
/*
(5 行受影响)
ID
-----------
1
1
2
3
NULL
 
(5 行受影响)
*/
 
--只复制表结构
select * into b from a where 1<>1
select * from b
/*
ID
-----------
 
(0 行受影响)
 
*/

  法二:select top 0 * into b from a

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

--> 测试数据:[a]
if object_id('[a]') is not null drop table [a]
go
create table [a]([ID] int)
insert [a]
select 1 union all
select 1 union all
select 2 union all
select 3 union all
select null
select * from a
/*
(5 行受影响)
ID
-----------
1
1
2
3
NULL
 
(5 行受影响)
*/
 
--只复制表结构
select top 0 * into b from a
select * from b
/*
ID
-----------
 
(0 行受影响)
 
*/

  2、说明:拷贝表(拷贝数据,源表名:

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41

--> 测试数据:[a]
if object_id('[a]') is not null drop table [a]
go
create table [a]([ID] int)
insert [a]
select 1 union all
select 1 union all
select 2 union all
select 3 union all
select null
select * from a
/*
(5 行受影响)
ID
-----------
1
1
2
3
NULL
 
(5 行受影响)
*/
 
--复制表数据
create table [b]([ID] int)
insert into b(id) select id from a
select * from b
/*
ID
-----------
1
1
2
3
NULL
 
(5 行受影响)
*/
 
3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径)

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

--> 测试数据:[a]
if object_id('[a]') is not null drop table [a]
go
create table [a]([ID] int)
insert [a]
select 1 union all
select 1 union all
select 2 union all
select 3 union all
select null
select * from a
/*
(5 行受影响)
ID
-----------
1
1
2
3
NULL
 
(5 行受影响)
*/
 
--复制表数据
create table [b]([ID] int)
insert into b(id) select id from cc_jz.dbo.a
select * from b
/*
ID
-----------
1
1
2
3
NULL
 
(5 行受影响)
*/

  4、说明:子查询(表名1:a 表名2:b)

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62

--> 测试数据:[a]
if object_id('[a]') is not null drop table [a]
go
create table [a]([ID] int)
insert [a]
select 1 union all
select 1 union all
select 2 union all
select 3 union all
select null
select * from a
/*
 
(5 行受影响)
ID
-----------
1
1
2
3
NULL
 
(5 行受影响)
*/
 
--> 测试数据:[b]
if object_id('[b]') is not null drop table [b]
go
create table [b]([ID] int)
insert [b]
select 1 union all
select 2 union all
select 2 union all
select 4 union all
select null
select * from b
/*
 
(5 行受影响)
ID
-----------
1
2
2
4
NULL
 
(5 行受影响)
 
*/
select * from a where id in (select id from b )
/*
ID
-----------
1
1
2
3
 
(4 行受影响)
 
*/

  5、说明:显示品名、数量和最后入库时间

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

--> 测试数据:[a]
if object_id('[a]') is not null drop table [a]
go
create table [a]([ID] int,[品名] varchar(6),[入库数量] int,[入库时间] datetime)
insert [a]
select 1,'矿泉水',100,'2013-01-02' union all
select 2,'方便面',60,'2013-01-03' union all
select 3,'方便面',50,'2013-01-03' union all
select 4,'矿泉水',80,'2013-01-04' union all
select 5,'方便面',50,'2013-01-05'
 
select a.[品名],a.[入库数量],b.[最后入库时间] from [test] a  ,
(select  [品名],max([入库时间]) as '最后入库时间' from [test]  group by [品名]) b
where a.[品名]=b.[品名]
 
/*
品名     入库数量        最后入库时间
------ ----------- -----------------------
方便面    60          2013-01-05 00:00:00.000
方便面    50          2013-01-05 00:00:00.000
方便面    50          2013-01-05 00:00:00.000
矿泉水    100         2013-01-04 00:00:00.000
矿泉水    80          2013-01-04 00:00:00.000
 
(5 行受影响)
 
*/

  6、说明:between的用法,between限制查询数据范围时包括了边界值,not between不包括

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

--> 测试数据:[a]
if object_id('[a]') is not null drop table [a]
go
create table [a]([ID] int,[品名] varchar(6),[入库数量] int,[入库时间] datetime)
insert [a]
select 1,'矿泉水',100,'2013-01-02' union all
select 2,'方便面',60,'2013-01-03' union all
select 3,'方便面',50,'2013-01-03' union all
select 4,'矿泉水',80,'2013-01-04' union all
select 5,'方便面',50,'2013-01-05'
 
select * from a where [入库时间] between '2013-01-02' and '2013-01-03'
/*
ID          品名     入库数量        入库时间
----------- ------ ----------- -----------------------
1           矿泉水    100         2013-01-02 00:00:00.000
2           方便面    60          2013-01-03 00:00:00.000
3           方便面    50          2013-01-03 00:00:00.000
 
(3 行受影响)
 
*/
 
select * from a where [入库时间] not between '2013-01-02' and '2013-01-03'
 
/*
ID          品名     入库数量        入库时间
----------- ------ ----------- -----------------------
4           矿泉水    80          2013-01-04 00:00:00.000
5           方便面    50          2013-01-05 00:00:00.000
 
(2 行受影响)
*/

  7、说明:in 的使用方法

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

--> 测试数据:[a]
if object_id('[a]') is not null drop table [a]
go
create table [a]([ID] int,[品名] varchar(6),[入库数量] int,[入库时间] datetime)
insert [a]
select 1,'矿泉水',100,'2013-01-02' union all
select 2,'方便面',60,'2013-01-03' union all
select 3,'方便面',50,'2013-01-03' union all
select 4,'矿泉水',80,'2013-01-04' union all
select 5,'方便面',50,'2013-01-05'
 
select * from a where [入库时间] in( '2013-01-02', '2013-01-03')
/*
ID          品名     入库数量        入库时间
----------- ------ ----------- -----------------------
1           矿泉水    100         2013-01-02 00:00:00.000
2           方便面    60          2013-01-03 00:00:00.000
3           方便面    50          2013-01-03 00:00:00.000
 
(3 行受影响)
 
*/
 
select * from a where [入库时间] not in( '2013-01-02', '2013-01-03')
/*
ID          品名     入库数量        入库时间
----------- ------ ----------- -----------------------
4           矿泉水    80          2013-01-04 00:00:00.000
5           方便面    50          2013-01-05 00:00:00.000
 
(2 行受影响)
*/

  8、说明:前3条记录

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

--> 测试数据:[a]
if object_id('[a]') is not null drop table [a]
go
create table [a]([ID] int,[品名] varchar(6),[入库数量] int,[入库时间] datetime)
insert [a]
select 1,'矿泉水',100,'2013-01-02' union all
select 2,'方便面',60,'2013-01-03' union all
select 3,'方便面',50,'2013-01-03' union all
select 4,'矿泉水',80,'2013-01-04' union all
select 5,'方便面',50,'2013-01-05'
 
select top(3) * from a
/*
ID          品名     入库数量        入库时间
----------- ------ ----------- -----------------------
1           矿泉水    100         2013-01-02 00:00:00.000
2           方便面    60          2013-01-03 00:00:00.000
3           方便面    50          2013-01-03 00:00:00.000
 
(3 行受影响)
*/
 
9、说明:随机取出3条数据

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

--> 测试数据:[a]
if object_id('[a]') is not null drop table [a]
go
create table [a]([ID] int,[品名] varchar(6),[入库数量] int,[入库时间] datetime)
insert [a]
select 1,'矿泉水',100,'2013-01-02' union all
select 2,'方便面',60,'2013-01-03' union all
select 3,'方便面',50,'2013-01-03' union all
select 4,'矿泉水',80,'2013-01-04' union all
select 5,'方便面',50,'2013-01-05'
 
select top(3) * from a  order by newid()
/*
ID          品名     入库数量        入库时间
----------- ------ ----------- -----------------------
5           方便面    50          2013-01-05 00:00:00.000
1           矿泉水    100         2013-01-02 00:00:00.000
4           矿泉水    80          2013-01-04 00:00:00.000
 
(3 行受影响)
*/
 
10、说明:列出数据库里所有的表名

?

1
2
3

select name from sysobjects where type='U' // U代表用户
 
11、说明:列出表里的所有的列名

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14

select name from syscolumns where id=object_id('a')
 
/*
name
----------------------------
ID
品名
入库数量
入库时间
 
(4 行受影响)
*/
 
12、说明:初始化表a

  TRUNCATE TABLE a

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

--> 测试数据:[a]
if object_id('[a]') is not null drop table [a]
go
create table [a]([ID] int,[品名] varchar(6),[入库数量] int,[入库时间] datetime)
insert [a]
select 1,'矿泉水',100,'2013-01-02' union all
select 2,'方便面',60,'2013-01-03' union all
select 3,'方便面',50,'2013-01-03' union all
select 4,'矿泉水',80,'2013-01-04' union all
select 5,'方便面',50,'2013-01-05'
 
select * from a
 
TRUNCATE TABLE a
 
select * from a
 
/*
 
(5 行受影响)
ID          品名     入库数量        入库时间
----------- ------ ----------- -----------------------
1           矿泉水    100         2013-01-02 00:00:00.000
2           方便面    60          2013-01-03 00:00:00.000
3           方便面    50          2013-01-03 00:00:00.000
4           矿泉水    80          2013-01-04 00:00:00.000
5           方便面    50          2013-01-05 00:00:00.000
 
(5 行受影响)
 
ID          品名     入库数量        入库时间
----------- ------ ----------- -----------------------
 
(0 行受影响)
 
*/
 
13、说明:选择从2到4的记录

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

--> 测试数据:[a]
if object_id('[a]') is not null drop table [a]
go
create table [a]([ID] int,[品名] varchar(6),[入库数量] int,[入库时间] datetime)
insert [a]
select 1,'矿泉水',100,'2013-01-02' union all
select 2,'方便面',60,'2013-01-03' union all
select 3,'方便面',50,'2013-01-03' union all
select 4,'矿泉水',80,'2013-01-04' union all
select 5,'方便面',50,'2013-01-05'
 
select top 3 * from (select top 4 * from a order by id asc) b order by id desc
 
/*
ID          品名     入库数量        入库时间
----------- ------ ----------- -----------------------
4           矿泉水    80          2013-01-04 00:00:00.000
3           方便面    50          2013-01-03 00:00:00.000
2           方便面    60          2013-01-03 00:00:00.000
 
(3 行受影响)
*/

时间: 2024-11-03 22:15:28

SQLServer基础语法实例应用(二)的相关文章

SQLServer基础语法实例应用(一)

  1.说明:创建数据库 ? 1 CREATE DATABASE database-name 2.说明:删除数据库 ? 1 DROP  DATABASE database-name  3.说明:备份数据库 ? 1 2 3 4 5 USE master -- 创建 备份数据的 device EXEC sp_addumpdevice 'disk', 'cc_jz', 'd:cc_jz.dat' -- 开始 备份 BACKUP DATABASE cc_jz TO cc_jz 4.说明:创建新表 ? 1

SQLServer基础语法实例应用(三)

  三.开发应用 1.按姓氏笔画排序: Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as //从少到多 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 --> 测试数据:[a] if object_id('[

jQuery基础语法实例入门_jquery

本文实例讲述了jQuery基础语法.分享给大家供大家参考.具体分析如下: 此语法规则有两个部分组成:获取jQuery对象和对jQuery对象执行的操作. 复制代码 代码如下: $(selector).action() 下面就对以上语法规则进行详细的阐述: 1.$定义jQuery,将被选的DOM对象转换成jQuery对象. 2.selector是选择器,类似于CSS选择器. 3.action()是要对jQuery对象行的操作. 注: $是jQuery的简写.例如: 复制代码 代码如下: $("di

jsp基础语法 二 注释的使用

我的一个同学问我,java中有"//"这个样的注释,用起来挺方便的,jsp的注释难道不是这个吗?用"//"在jsp中不行. 对于学习了这么长时间的jsp,注释是最基本的.jsp中的注释不同于java. 在jsp中支持两种注释,一种是显示注释,这种注释客户端是允许看见的,另外一种注释是隐式注释,此种注释客户端是无法看见的. 显示注释语法: <!--注释内容--> 隐式注释语法: 格式一:// 注释,单行注释: 格式二:  /* 注释 */,多行注释: 格式

Python学习笔记(二)基础语法_python

学习Python,基本语法不是特别难,有了C的基本知识,理解比较容易.本文的主要内容是Python基础语法,学完后,能熟练使用就好.(开发环境依然是Python2.7,简单使用)一,基本知识1,不需要预先定义数据类型(此说法值得商榷,姑且这么说吧),这是与其他语言的最大不同(如C,C++,C#,Delphi等) 复制代码 代码如下:  >>> x=12 >>> y=13 >>> z=x+y >>> print z 25 注意:尽管变量

jsp基础语法 五 跳转指令

跳转的作用: 使用跳转指令可以将一个用户的请求,从一个页面传递到另外一个页面. 例如:用户登录QQ空间,如果用户名和密码正确的话就会跳转到空间首页,否则就会跳转到失败页. 跳转指令的语法: 不传递参数   <jsp:forward page=""/> 传递参数:  <jsp:forward page=""> <jsp:param name="参数名称" value="参数内容"> </

又一款MVVM组件 Vue基础语法和常用指令(1)_javascript技巧

前言:关于Vue框架,好几个月之前就听说过,了解一项新技术之后,总是处于观望状态,一直在犹豫要不要系统学习下.正好最近有点空,就去官网了解了下,看上去还不错的一个组件,就抽空研究了下.最近园子里vue也确实挺火,各种入门博文眼花缭乱,博主也不敢说写得多好,就当是个学习笔记,有兴趣的可以看看. 一.MVVM大比拼 关于MVVM,原来在介绍knockout.js的时候有过讲解,目前市面上比较火的MVVM框架也是一抓一大把,比如常见的有Knockout.js.Vue.js.React.Angularj

jsp基础语法 六 jsp+jdbc访问数据库

学习过了jsp基础语法以及HTML和javascript的用法之后,jsp+jdbc连接数据库开发动态WEB网页就可以实现了. 对于学过java SE的同学来说,数据库的操作并不陌生,如果有忘记的或者不会的可以到http://zhaoyuqiang.blog.51cto.com/6328846/1127658  学习. jsp中的数据库连接又是如何呢? 怎样才能利用上我们学过的HTML和javascript的知识呢? 这就是我们这一篇文章的学习内容----jsp+jdbc访问数据库. 我们就以一

jsp基础语法 四 包含指令

什么是包含: 在页面开发的时候,一些代码难免会有重复使用的情况,比如说A页面有一段代码a,B页面和C页面都能用到a这段代码,那么B和C页面就把A页面包含进来,自然的a这段代码也被包含进BC页面了,这样就实现了B.C页面能用到a代码了,避免了重复的书写a代码. 包含的意义: 使用包含操作,可以将一些重复的代码包含进来继续使用. 一般分为如上四个区域. 真正在改变的地方只是具体内容,因为根据不同的用户浏览的不同,那么肯定这上面会存在差别  现在就有两种做法实现以上一种功能 方法一:在没有一个jsp页