SQL查询入门(上篇) 推荐收藏(2)

来源:asp之家 时间:2011-09-30 11:47:11 


2.关系演算法
相比较关系代数法而言,关系演算法更多关注的是取得数据所满足的条件.上面SQL可以用关系演算法被描述为:我想得到所有年龄大于20的员工的姓名,部门和年龄。
为什么需要两种方法
对于简单的查询语句来说,上面两种方法都不需要.用脚就可以想出来了。问题在于很多查询语句都会非常复杂。对于关系演算法来说更多的是关注的是所取出信息所满足的条件,而对于关系代数法来说,更多关注的是如何取出特定的信息.简单的说,关系演算法表示的是”what”,而关系代数法表达的是”how”.SQL语句中所透漏的思路,有些时候是关系代数法,有些时候是关系演算法,还有些是两种思路的混合.
对于某些查询情况,关系代数法可能会更简单,而对于另外一些情况,关系演算法则会显得更直接.还有一些情况.我们需要混合两种思路。所以这两种思维方式在写SQL查询时都是必须的.
单表查询
单表查询是所有查询的中间状态,既是多个表的复杂查询在最终进行这种连接后都能够被抽象成单表查询。所以先从单表查询开始。
选择列的子集
根据上面数据子集的说法,选择列是通过在select语句后面添加所要选择的列名实现的:
比如下面数据库中通过在select后面选择相应的列名实现选择列的子集.

相应sql语句如下:

代码如下:


SELECT [Name]
,[GroupName]
FROM [AdventureWorks].[HumanResources].[Department]


选择行的子集
选择行的子集是在Sql语句的where子句后面加上相应的限制条件,当where子句后面的表达式为“真”时,也就是满足所谓的“条件”时,相应的行的子集被返回。

where子句后面的运算符分为两类,分别是比较运算符和逻辑运算符.

比较运算符是将两个相同类型的数据进行比较,进而返回布尔类型(bool)的运算符,在SQL中,比较运算符一共有六种,分别为等于(=),小于(<),大于(>),小于或等于(<=),大于或等于(>=)以及不等于(<>),其中小于或等于和大于或等于可以看成是比较运算符和逻辑运算符的结合体。

而逻辑运算符是将两个布尔类型进行连接,并返回一个新的布尔类型的运算符,在SQL中,逻辑运算符通常是将比较运算符返回的布尔类型相连接以最终确定where子句后面满足条件的真假。逻辑运算符一种有三种,与(AND),或(OR),非(NOT).

比如上面,我想选择第二条和第六条,为了说明比较运算符和逻辑运算符,可以使用如下Sql语句:

代码如下:


SELECT [Name]
,[GroupName]
FROM [AdventureWorks].[HumanResources].[Department]
WHERE DepartmentID>1 and DepartmentID<3 or DepartmentID>5 and DepartmentID<7

标签:SQL查询入门
0
投稿

猜你喜欢

  • 教你用python提取txt文件中的特定信息并写入Excel

    2021-02-11 00:41:41
  • Oracle 随机数

    2024-01-16 10:46:14
  • Python3.10 Generator生成器Coroutine原生协程详解

    2023-10-25 15:31:36
  • Pytorch可视化之Visdom使用实例

    2021-01-05 12:16:13
  • IE8的一些CSS hack

    2008-03-17 13:08:00
  • Go编译原理之函数内联

    2024-05-22 10:12:38
  • 在sqlserver2005中安装sql server 2000的示例数据库northwind的方法

    2024-01-18 11:00:12
  • python实现简单反弹球游戏

    2021-05-06 23:25:45
  • 在javascript中如何取整?

    2009-06-07 18:34:00
  • Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】

    2023-12-10 15:45:59
  • python爬虫入门教程--优雅的HTTP库requests(二)

    2022-04-01 05:10:43
  • MYSQL数据库表设计与优化(二)

    2010-10-25 20:12:00
  • windows环境下mysql的解压安装及备份和还原

    2024-01-27 05:55:48
  • mysql myisam优化设置

    2010-03-13 16:59:00
  • asp如何终止浏览器的 CAHCE 页面?

    2010-07-07 12:25:00
  • asp产生不重复的随机数

    2008-06-03 13:29:00
  • python 实时调取摄像头的示例代码

    2021-10-17 06:07:52
  • js 分栏效果实现代码

    2024-05-03 11:10:47
  • 使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法

    2024-05-03 15:06:27
  • SQL Server 2008 R2 超详细安装图文教程

    2024-01-24 16:41:12
  • asp之家 网络编程 m.aspxhome.com