没有合适的资源?快使用搜索试试~ 我知道了~
(完整word版)简单数据库查询语句(word文档良心出品).doc
1 下载量 190 浏览量
2022-11-24
04:41:28
上传
评论
收藏 132KB DOC 举报
温馨提示
试读
20页
(完整word版)简单数据库查询语句(word文档良心出品).doc
资源推荐
资源详情
资源评论
数据查询语言(SELECT 语句)
数据操纵语言(INSERT, UPDATE, DELETE 语句)
数据定义语言(如 CREATE, DROP 等语句)
数据控制语言(如 COMMIT, ROLLBACK 等语句
超详细的 SQL 语句语法 2008-07-11 14:25 简单的 Transact-SQL 查询只包括选择列表、
FROM 子句和 WHERE 子句
一、 简单查询
简单的 Transact-SQL 查询只包括选择列表、FROM 子句和 WHERE 子句。它们分别说明所
查询列、查询的表或视图、以及搜索条件等。
例如,下面的语句查询 testtable 表中姓名为“张三”的 nickname 字段和 email 字段。
SELECT nickname,email FROM testtable WHERE name='张三'
(一) 选择列表
选择列表(select_list)指出所查询列
它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。
1、选择所有列
例如,下面语句显示 testtable 表中所有列的数据:
SELECT * FROM testtable
2、选择部分列并指定它们的显示次序
查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。
例如: SELECT nickname,email FROM testtable
3、更改列标题
在选择列表中,可重新指定列标题。定义格式为:
列标题=列名
列名 列标题
如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字
显示列标题:
SELECT 昵称=nickname,电子邮件=email FROM testtable
4、删除重复行
SELECT 语句中使用 ALL 或 DISTINCT 选项来显示表中符合条件的所有行或删除其中重复
的数据行,
默认为 ALL。使用 DISTINCT 选项时,对于所有重复的数据行在 SELECT 返回的结果集合
中只保留一行。
5、限制返回的行数
使用 TOP n [PERCENT]选项限制返回的数据行数,TOP n 说明返回 n 行,
而 TOP n PERCENT 时,说明 n 是表示一百分数,指定返回的行数等于总行数的百分之几。
例如: SELECT TOP 2 *FROM testtable SELECT TOP 20 PERCENT * FROM testtable
9、说明:in 的使用方法
select * from table1 where a [not] in (‘值 1’,’值 2’,’值 4’,
’值 6’)
10、说明:两张关联表,删除主表中已经在副表中没有的信息
delete from table1 where not exists ( select * from table2
where table1.field1=table2.field1 )
11、说明:四表联查问题:
select * from a left inner join b on a.a=b.b right inner join
c on a.a=c.c inner join d on a.a=d.d where .....
12、说明:日程安排提前五分钟提醒
SQL: select * from 日程安排 where datediff('minute',f 开始时
间,getdate())>5
13、说明:一条 sql 语句搞定数据库分页
select top 10 b.* from (select top 20 主键字段,排序字段 from 表
名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字
段 order by a.排序字段
14、说明:前 10 条记录
select top 10 * from table1 where 范围
15、说明:选择在每一组 b 值相同的数据中对应的 a 最大的记录的所有信息(
类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排
名,等等.)
select a,b,c from tablename ta where a=(select max(a) from
tablename tb where tb.b=ta.b)
16、说明:包括所有在 TableA 中但不在 TableB 和 TableC 中的行并消除
所有重复行而派生出一个结果表
(select a from tableA ) except (select a from tableB) except
(select a from tableC)
17、说明:随机取出 10 条数据
select top 10 * from tablename order by newid()
18、说明:随机选择记录
select newid()
19、说明:删除重复记录
Delete from tablename where id not in (select max(id) from
tablename group by col1,col2,...)
20、说明:列出数据库里所有的表名
select name from sysobjects where type='U'
21、说明:列出表里的所有的
select name from syscolumns where id=object_id('TableName')
22、说明:列示 type、vender、pcs 字段,以 type 字段排列,case 可以方便
地实现多重选择,类似 select 中的 case。
select type,sum(case vender when 'A' then pcs else 0
end),sum(case vender when 'C' then pcs else 0 end),sum(case
vender when 'B' then pcs else 0 end) FROM tablename group by
type
显示结果:
type vender pcs
电脑 A 1
电脑 A 1
光盘 B 2
光盘 A 2
手机 B 3
手机 C 3
23、说明:初始化表 table1
TRUNCATE TABLE table1
24、说明:选择从 10 到 15 的记录
select top 5 * from (select top 15 * from table order by id
asc) table_别名 order by id desc
随机选择数据库记录的方法(使用 Randomize 函数,通过 SQL 语句实现)
剩余19页未读,继续阅读
资源评论
Mmnnnbb123
- 粉丝: 709
- 资源: 8万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功