通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 my小屋
联系我们
设为首页
加入收藏

 

qq,asp,php,jsp,xml,sql,.net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | q q 专栏 | 建站经验 | 在线工具 | 站长club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 网络赚钱 | 网站地图 | 广告服务 | 服务
当前位置:首页>>编程开发>>sql专区>>正文 新版上线![旧版]
注:打开慢时请稍等
sql简明教程(3)

http://www.iyit.net  日期:2006-5-3 18:25:19  来源:本站原创  点击:
参加讨论

##2 (二)数据查询
sql是一种查询功能很强的语言,只要是数据库存在的数据,总能通过适当的方法将它从数据库中查找出来。sql中的查询语句只有一个:select,它可与其它语句配合完成所有的查询功能。select语句的完整语法,可以有6个子句。完整的语法如下:

select 目标表的列名或列表达式集合
from 基本表或(和)视图集合
[where条件表达式]
[group by列名集合
[having组条件表达式]]
[order by列名[集合]…]
整个语句的语义如下:从from子句中列出的表中,选择满足where子句中给出的条件表 达式的元组,然后按groupby子句(分组子句)中指定列的值分组,再提取满足having子 句中组条件表达式的那些组,按select子句给出的列名或列表达式求值输出。order子句(排序子句)是对输出的目标表进行重新排序,并可附加说明asc(升序)或desc(降序)
排列。在where子句中的条件表达式f中可出现下列操作符和运算函数:
算术比较运算符:<,<=,>,>=,=,<>。
逻辑运算符:and,or,not。
集合运算符:union(并),intersect(交),except(差)。
集合成员资格运算符:in,not in
谓词:exists(存在量词),all,some,unique。
聚合函数:avg(平均值),min(最小值),max(最大值),sum(和),count(计数)。
f中运算对象还可以是另一个select语句,即select语句可以嵌套。
上面只是列出了where子句中可出现的几种主要操作,由于where子句中的条件表达式可以很复杂,因此select句型能表达的语义远比其数学原形要复杂得多。
下面,我们以上面所建立的三个基本表为例,演示一下select的应用:
1.无条件查询
例:找出所有学生的的选课情况
select st_no,su_no
from score
例:找出所有学生的情况
select*
from student
“*”为通配符,表示查找from中所指出关系的所有属性的值。

2.条件查询
条件查询即带有where子句的查询,所要查询的对象必须满足where子句给出的条件。
例:找出任何一门课成绩在70以上的学生情况、课号及分数
select unique student.st_class,student.st_no,student.st_name,
student.st_sex,student.st_age,score.su_no,score.score
from student,score
where score.score>=70 and score.stno=student.st_no
这里使用unique是不从查询结果集中去掉重复行,如果使用distinct则会去掉重复行。
另外逻辑运算符的优先顺序为not→and→or。
例:找出课程号为c02的,考试成绩不及格的学生
select st_no
from score
where su_no=‘c02’and score<60

3.排序查询
排序查询是指将查询结果按指定属性的升序(asc)或降序(desc)排列,由order by子句指明。
例:查找不及格的课程,并将结果按课程号从大到小排列
select unique su_no
from score
where score<60
order by su_no desc

4.嵌套查询
嵌套查询是指where子句中又包含select子句,它用于较复杂的跨多个基本表查询的情 况。
例:查找课程编号为c03且课程成绩在80分以上的学生的学号、姓名
select st_no,st_name
from student
where stno in (select st_no
from score
where su_no=‘c03’ and score>80 )
这里需要明确的是:当查询涉及多个基本表时用嵌套查询逐次求解层次分明,具有结构程序设计特点。在嵌套查询中,in是常用到的谓词。若用户能确切知道内层查询返回的是单值,那么也可用算术比较运算符表示用户的要求。

5.计算查询
计算查询是指通过系统提供的特定函数(聚合函数)在语句中的直接使用而获得某些只有经过计算才能得到的结果。常用的函数有:
count(*) 计算元组的个数
count(列名) 对某一列中的值计算个数
sum(列名) 求某一列值的总和(此列值是数值型)
avg(列名) 求某一列值的平均值(此列值是数值型)
max(列名) 求某一列值中的最大值

本新闻共2页,当前在第1页  1  2  


编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:sql简明教程(2)
下一篇:sql简明教程(4)
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
microsoft sqlserver安装示例          浅谈优化sqlserver数据库服务器内存配置 在linux下访问mssqlserver数据库      
sqlserver7.0中如何在死锁产生时自动将 sql简明教程(6) sql简明教程(5)
sql简明教程(4) sql简明教程(2) sql简明教程(1)
怎样做sqlserver数据库的还原 将表数据生成sql脚本的存储过程 sql数据操作基础(中级)7
sql数据操作基础(中级)6 sql数据操作基础(初级)5 sql数据操作基础(初级)4
sql数据操作基础(初级)3 sql数据操作基础(初级)2 sql数据操作基础(初级)1
sqlserver提升权限相关命令及防范 探讨sqlserver中case的不同用法 无数据库日志文件恢复数据库方法两则(二
分页sqlserver存储过程 sqlserver实用操作小技巧集合(三) sqlserver实用操作小技巧集合(二)
最新更新 热点排行 推荐新闻
sql server 7.0与以前的版本相比,安全
设置proxy server和sql server实现互联
microsoft sql server 7.0安全问题   
mysql安全性指南(3)(转)           
mysql安全性指南 (2)(转)          
javascript实例教程(3-2)
javascript实例教程(3-1)
javascript实例教程(2) 创建弹出式窗
javascript实例教程(1) 目录
荧光文字
鼠标周围的文字宣传
随鼠标的闪烁小星星
鼠标右键显隐效果
状态栏特效
自动关闭弹出式窗口
sql server 7.0与以前的版本相比,安全
sql简明教程(6)
sql简明教程(5)
sql简明教程(4)
sql简明教程(3)
qq珊瑚虫外挂4.0版本发布!
多个广告位招商!
摄影后期系列一:1分钟为数码相片去红眼
qq挂机说明
asp进度条
photoshop通道抠图:给秀发飞扬的mm照
教您显示器亮度对比度的调节
新版上线,今日正式开通!!!
更多精彩图文广告等着您!
asp中使用sql语句教程
sql简明教程(1)
第二十章 开发delphi对象式数据管理功
sql简明教程(1)
vbscript和javascript互相调用 
jsp教程(四)-jsp actions的使用
操作系统被入侵后的修复过程
五一别忘电脑防毒 养成良好上网习惯
google对ie浏览器将捆绑搜索功能表担忧
新版上线,今日正式开通!!!
用photoshop创意图形“岁月”
摄影后期系列一:1分钟为数码相片去红眼

 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
copyrights © 2004-2006 iyit.net all rights reserved.
网站合作、广告联系qq:147007642、466949678
易特网络技术 点击这里给我发消息