用户在查询数据库时往往不需要检索全部的数据,而只需要查询其中一部分满足给定条件的信息,此时需要在SELECT语句中加入条件,以选择其中的部分记录。这就要用到WHERE子句来指定查询返回行的条件。带WHERE子句的SELECT语句的基本格式如下:
SELECT select_list |
下面介绍该语句的命令说明。WHERE子句必须紧跟在FROM子句的后面。
search_condition为指定查询时要返回的行记录所应满足的条件,该条件由表达式及逻辑运算符等组成,并且SQL Server对search_condition中的查询条件数目没有限制。
SQL Server为search_condition提供各种各样的运算符和关键字作为搜索条件,如表6-1所示。
![]() |
| 示意图 |
SELECT select_list |
![]() |
| 示意图 |
USE 图书管理系统 |
在查询结果窗口中显示“定价”大于50的图书信息,如图6-9所示。
@ 实际演练:利用比较运算符“=”限定查询条件
从数据库“图书管理系统”的“作者表”中,查询“籍贯”是“北京”的所有作者,并在查询结果中显示列“作者姓名”和“籍贯”。
USE 图书管理系统 |
在查询结果窗口中显示籍贯是北京的作者,如图6-10所示。
![]() |
| 示意图 |
USE 图书管理系统 |
在查询结果窗口中显示出生在1988年7月1日之前的学生的所有信息,如图6-11所示。
![]() |
| 示意图 |
USE 图书管理系统 |
在查询结果窗口中显示籍贯不是北京的作者信息,如图6-12所示。
![]() |
| 示意图 |
SELECT select_list |
其中,logical_operator表示逻辑运算符,[,…n]表示前面的项可重复n次,语句中的logical_operator可以是AND、OR两个逻辑表达式中的任意一个,用到NOT时,要将NOT放在表达式的前面。
![]() |
| 示意图 |
USE 图书管理系统 |
在查询结果窗口中显示“性别”为“男”,并且“籍贯”是“北京”的作者的信息,如图6-13所示。
@ 实际演练:利用逻辑运算符“OR”限定查询条件
从数据库“图书管理系统”的“作者表”中,查询“籍贯”是“河南郑州”或“河北石家庄”的作者信息。
![]() |
| 示意图 |
USE 图书管理系统 |
![]() |
| 示意图 |
USE 图书管理系统 |
在查询结果窗口中显示政治面貌不是中国共产党的学生信息,如图6-15所示。
6.2.3 BETWEEN关键字
在WHERE子句中,当需要确定表达式的取值是否在一定的范围之内时,可以使用BETWEEN、NOT BETWEEN运算符来限定查询条件。利用BEWEEN关键字来限定查询条件的基本语法格式如下所示:
SELECT select_list |
![]() |
| 示意图 |
USE 图书管理系统 |
该查询结果窗口显示中显示定价在50~100之间的图书信息,如图6-16所示。
@ 实际演练:利用NOT BETWEEN限定查询条件
![]() |
| 示意图 |
USE 图书管理系统 |
在查询结果窗口中显示作者编号不在10010~10020之内的作者信息,如图6-17所示。
@ 实际演练:利用BETWEEN和NOT BETWEEN联合限定查询条件
从数据库“图书管理系统”的“图书明细表”中,查询“作者编号”在10011~10020之间且“定价”不在30~150之间的图书信息,并且返回列“图书名称”、“作者编号”、“出版日期”和“定价”。
USE 图书管理系统 |
在查询结果窗口中显示作者编号在10011~10020之间并且定价不在30~150之间的图书信息,如图6-18所示。
![]() |
| 示意图 |
SELECT select_list |
其中,[NOT]为可选项,value_list表示值列表。
![]() |
| 示意图 |
![]() |
| 示意图 |
USE 图书管理系统 |
在查询结果窗口中显示系别是工业工程和机械自动化的学生信息,如图6-19所示。
@ 实际演练:利用NOT IN限定查询条件
从数据库“图书管理系统”的“出版社信息表”中,查询“出版社所在城市”不是“北京”的出版社信息,并且返回所有列。
![]() |
| 示意图 |
USE 图书管理系统 |
在查询结果窗口中显示地理位置不在北京的出版社信息,如图6-20所示。
@ 实际演练:利用IN和NOT IN联合限定查询条件
从数据库“图书管理系统”的“图书明细表”中,查询“作者编号”是10007、10008、10021之一且“出版社编号”不是1001、1005、1008的图书信息,并返回列“图书名称”、“作者编号”、“出版社编号”、“出版日期”和“定价”。
USE 图书管理系统 |
在查询结果窗口中显示作者是作者编号为10007、10008和10021之一,并且出版社不是出版社编号1001、1005和1008之一的图书信息,如图6-21所示。
![]() |
| 示意图 |
SELECT select_list |
其中,[NOT]为可选项,string表示用来进行比较的字符串。
![]() |
| 示意图 |
USE 图书管理系统 |
在查询结果窗口中显示姓王的作者信息,如图6-22所示。
![]() |
| 示意图 |
USE 图书管理系统 |
在查询结果窗口中显示图书名称以A开头,第二个字符是S或c的图书信息,如图6-23所示。
@ 实际演练:利用'N[^xy]% '
限定查询条件
从数据库“图书管理系统”的“图书明细表”中,查询“图书名称”以A开头,第二个字符不是c或u的图书信息,并返回列“图书名称”、“出版社编号”、“出版日期”和“定价”。
USE 图书管理系统 |
在查询结果窗口中显示图书名称以A开头,第二个字符不是c或u的图书信息,如图6-24所示。
![]() |
| 示意图 |
USE 图书管理系统 |
在查询结果窗口中显示图书名称以A开头,第三个字符为t的图书信息,如图6-25所示。
![]() |
| 示意图 |
6.2.6 选择空值
NULL(即空值)的属性通常表示未知、不可用或将在以后添加的数据,而并不表示0或空白。在对数据库进行操作的过程中,当需要查看值为NULL的数据库表信息时,就可以利用含有NULL关键字的WHERE子句。它的基本语法格式如下:
SELECT select_list |
其中,column_name表示列名,[NOT]为可选项。
例如,从数据库“图书管理系统”的“图书明细表”中,查询“出版日期”未添加(即为空值)的图书信息,并返回列“图书编号”、“图书名称”、“作者编号”、“出版社编号”、“出版日期”和“定价”。
USE 图书管理系统 |
在查询结果窗口中显示出版日期未添加的图书信息,如图6-26所示。
| 回书目 上一节 下一节 |
|
· SQL Server入门到精通.. · 交换技术配置手册技术.. · 超级网管员——网络应.. · 网络服务器配置与应用.. · Linux集群技术自测试题.. · JavaSript核心技术自测.. |
· ARP攻击与防范技术自测.. · 国庆挑战自己参加自测 .. · 《网管员必读—网络应.. · 历次技术自测 获奖网友.. · 51CTO国庆七天技术自测.. · 9.2.2 无线AP |
|
|||
| · 网管系统介绍 · 网络管理系统如何支撑I.. · CISSP认证成长之路 · 51CTO国庆充电专题之好.. · 网络技术经典基础教程 · 51CTO主编推荐经典专题 · RAID——磁盘阵列基础 · 充电计划之热门IT认证.. |
· 51CTO技术自测 挑战自.. · AMD Phenom三核处理器.. · 国际文档格式标准开战 · 2007年互联网大会 · 我是黑客我怕谁——讲.. · ARP攻击防范与解决方案 · Solaris 10 配置管理 · Solaris基础知识入门 |
||
|
|||
| · Java基础教程 · VPN技术 · ARP攻击防范与解决方案 · SQL Server 2005全解 · SOA 面向服务架构 · SQL Server 2005全解 · Java编程开发手册 · RAID——磁盘阵列基础 |
· 三层交换技术专题 · SQL Server入门到精通 · Windows Server 2003企.. · Windows远程桌面应用 · C#技术开发指南 · VPN技术 · C#技术开发指南 · Solaris 10 配置管理 |
||
|
|||
| · ARP攻击防范与解决方案 · VPN技术 · SQL Server 2005全解 · Java基础教程 · SQL Server入门到精通 · SQL Server 2005全解 · SOA 面向服务架构 · Java编程开发手册 |
· C#技术开发指南 · 三层交换技术专题 · C#技术开发指南 · Windows远程桌面应用 · RAID——磁盘阵列基础 · Windows Server 2003企.. · 邮件服务器专题 · wimax技术与趋势 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·服务器中的“傻瓜机”在.. ·盖茨也喜欢登录Youtube看.. |
· · |
| ·体验Windows Server 2008.. ·将超星图书转成PDF文档 |
·使用 Office Communicati.. ·VMware Workstation 6.01.. |
| ·强烈质疑“步行1公里就能.. ·国庆期间新闻回顾:微软.. |
·9月第3周回顾:微软和英.. ·9月第2周回顾:四核之战.. |
| · 华为、贝恩资本22亿美元.. · NGN:下一代网络 · 网络访问中断大排查 |
· 教你使用Anti ARP Sniff.. · 网络嗅探教程:使用Snif.. · 常见病毒手工清除方法大.. |
| · C++是垃圾语言?! · 2007年IT界七大抄袭事件 · Java实用开发全集 |
· 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. · 基于Google Maps与Ajax.. |
| · 热门 IT 培训认证官方资.. · Ubuntu 中文开源频道 · Solaris基础知识入门 |
· Google推出唯一硬件——.. · 硬盘之父获得诺贝尔物理.. · 理性面对四核服务器选购 |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 硬盘之父获得诺贝尔物理.. · 存储2006,一个并购的大.. · IDC宣布浪潮蝉联存储市.. |