当前位置:文档之家› SQL基本SELECT查询语句_内外连接

SQL基本SELECT查询语句_内外连接


2012-4-13
------江阴职业技术学院计算机系-----------江阴职业技术学院计算机系-----江阴职业技术学院计算机系
Microsoft SQL Server 2005
15
ORDER BY子句
SELECT StuId,StuName,Sex FROM Tb_Student WHERE DeptId=‘08’ ORDER BY StuName,Sex 结果如何?
SELECT * FROM Tb_Student WHERE StuName<>'张三' SELECT * FROM Tb_Student WHERE Sex= 'F'
2012-4-13
------江阴职业技术学院计算机系-----------江阴职业技术学院计算机系-----江阴职业技术学院计算机系
上述“[ ]”表示可选项,“ | ”表示取其中之一。
2012-4-13
------江阴职业技术学院计算机系-----------江阴职业技术学院计算机系-----江阴职业技术学院计算机系
Microsoft SQL Server 2005
2
简单Select 查询
简单的Transact-SQL查询只包括选择列表、 FROM子句和WHERE子句。它们分别说明所查询列、 查询的表或视图、以及搜索条件等。 -------------------------------------------------------------------• • • • • 语法: SELECT 字段1,字段2,… FROM 表名 SELECT * FROM 表名 SELECT 字段1,字段2,… FROM 表名 WHERE 查询条件 SELECT * FROM 表名 WHERE 查询条件
2012-4-13
------江阴职业技术学院计算机系-----------江阴职业技术学院计算机系-----江阴职业技术学院计算机系
Microsoft SQL Server 2005
13
ORDER BY子句
使用SELECT语句进行数据查询,为了按一 定顺序浏览数据,可以使用ORDER BY子句对生 成的查询结果进行排序。ORDER BY子句在 SELECT语句中的语法格式如下: ------------------------------------------------------------------SELECT 字段1,字段2,… FROM 表名 WHERE 查询条件 ORDER BY 排序表达式 [ASC | DESC]
2012-4-13
------江阴职业技术学院计算机系-----------江阴职业技术学院计算机系-----江阴职业技术学院计算机系
Microsoft SQL Server 2005
16
ORDER BY子句
• ORDER BY子句总是位于WHERE子句(如果有的话)后 面,可以包含一个或多个列,每个列之间以逗号分隔。这 些列可能是表中定义的列,也可能是SELECT子句中定义 的计算列。 ------------------------------------------------------------------------------• 在SQL Server 2005中,汉字比其它字符值都要大,而汉 SQL 2005 字之间的大小比较是取决于其拼音首字母的大小。 • 如果没有特别说明,值是以升序序列进行排序的。当然, 你也可以选择使用ASC关键字指定升序排序。 ------------------------------------------------------------------------------• 如果你希望以降序排列,则在ORDER BY后面使用DESC 关键字。
类别 比较运算符 逻辑运算符 范围运算符 列表运算符 字符匹配符 未知值
运算符 =、>、<、>=、<=、<> AND、OR、NOT BETWEEN、NOT BETWEEN IN、NOT IN LIKE、NOT LIKE IS NULL、IS NOT NULL
பைடு நூலகம்
说明 比较两个表达式 组合两个表达式的运算结果或取 反 查询值是否在范围内 查询值是否属于列表值之一 字符串是否匹配 查询值是否为NULL
2012-4-13
------江阴职业技术学院计算机系-----------江阴职业技术学院计算机系-----江阴职业技术学院计算机系
Microsoft SQL Server 2005
6
比较运算符和表达式
运 算 符 = > < >= <= <> 含 义 等于 大于 小于 大于等于 小于等于 不等于
SELECT * FROM Tb_Student WHERE StuName LIKE '张%' SELECT * FROM Tb_Student WHERE StuName NOT LIKE '张三'
2012-4-13 ------江阴职业技术学院计算机系-----------江阴职业技术学院计算机系-----江阴职业技术学院计算机系 Microsoft SQL Server 2005 10
2012-4-13
------江阴职业技术学院计算机系-----------江阴职业技术学院计算机系-----江阴职业技术学院计算机系
Microsoft SQL Server 2005
3
简单Select 查询
SELECT StuId,StuName,DeptId,Sex FROM Tb_Student
Microsoft SQL Server 2005
7
逻辑运算符和表达式
运算符 含 义 AND 如果两个布尔表达式都为 TRUE,那么就为 TRUE OR NOT 如果两个布尔表达式中的一个为 TRUE,那么就为 TRUE 对任何其他布尔运算符的值取反
SELECT * FROM Tb_Student WHERE Sex= 'M' and Sex= 'F' SELECT * FROM Tb_Student WHERE ClassId= 'S040201101' and Sex= 'F' SELECT * FROM Tb_Student WHERE NOT Sex= 'M'
未知值条件
• NULL表示未知的,不可用或将在以后添加的数据。 NULL值与零、零长度的字符串的含义不同。 • 在WHERE子句中,使用IS NULL或IS NOT NULL条件可以查询某一数据值是否为NULL的数 据信息。 • 例如:
SELECT * FROM Tb_Course WHERE CourseName IS NULL SELECT * FROM Tb_Grade WHERE RetestScore IS NOT NULL
模式匹配运算符和表达式
通配符 % 说明 匹配零个或多个字符的任意字 符串。 示例 LIKE '%林%' 姓名中包含有“林”的信息。
LIKE '林_' _ 匹配任何单个字符。 姓名第一个字为“林”并且名字只有 下划线 一个汉字只使用一个"_"表示 两个字。 匹配指定范围 ([a-f]) 或集 LIKE '[张王]%' [ ] 合([abcdef]) 中的任何单 姓张或姓王的信息。 个字符。 匹配不属于指定范围 ([a-f]) LIKE '王[^林]%' [^] 或集合 ([abcdef]) 中的 姓王且第二个字不是林的信息。 任何单个字符。
2012-4-13
------江阴职业技术学院计算机系-----------江阴职业技术学院计算机系-----江阴职业技术学院计算机系
Microsoft SQL Server 2005
12
运算符的优先级
• 运算符的优先级决定了表达式的计算和比较操作顺序。 运算符的优先级由高到低的顺序为: • 1)括号:()。 • 2)正、负或取反运算:+、-、~。 • 3)乘、除、求模运算:*、/、%。 • 4)加、减、字符连接运算:+、-、+。 4 + - + • 5)比较运算:=、>、<、>=、<=、<>、!=、!>、!<。 • 6)位运算 位运算:^、&、|。 位运算 • 7)逻辑非运算:NOT。 • 8)逻辑与运算:AND。 • 9) BETWEEN、IN、LIKE、OR等运算。 • 10)赋值运算:=。
2012-4-13
------江阴职业技术学院计算机系-----------江阴职业技术学院计算机系-----江阴职业技术学院计算机系
Microsoft SQL Server 2005
14
ORDER BY子句
SELECT StuId,StuName,Sex FROM Tb_Student WHERE DeptId=‘08’ ORDER BY StuName SELECT StuId,StuName,Sex FROM Tb_Student WHERE DeptId=‘08’ ORDER BY StuName DESC
Select 查询
2012-4-13
------江阴职业技术学院计算机系-----------江阴职业技术学院计算机系-----江阴职业技术学院计算机系
Microsoft SQL Server 2005
1
SELECT语法总结
• • • • • • SELECT */字段名,字段名…… FROM 表名 [ WHERE 条件表达式 ] [ GROUP BY 分组的字段名 ] [ HAVING 条件表达式] [ ORDER BY 排序的字段名 [ ASC | DESC ] ]
2012-4-13
相关主题