您的位置:首页 > 数据库

SQL-SELECT 语句,From子句,where条件查询

2011-12-07 10:55 696 查看
SELECT 语句  SELECT 语句用来检索数据表中的数据,而哪些数据被检索由列出的数据行与语句中的 WHERE 子句决定。例如,要从之前建立的 Customer_Data数据表中检索 customer_id 以及 first_name 数据行的数据,并且只想取出每行中 first_name 数据值为 Frankie 的数据,那麼可以利用以下的 SELECT 语句:

  SELECT customer_id, first_name FROM Customer_Data

  WHERE first_name = ‘Frankie’

  如果有一行符合 SELECT 语句中的标准,则结果将显示如下:

  customer_id first_name

  ------------- ------------

  777 Frankie

(二) FROM子句

  FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。

  在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定:

  SELECT username,citytable.cityid

  FROM usertable,citytable

  WHERE usertable.cityid=citytable.cityid

  在FROM子句中可用以下两种格式为表或视图指定别名:

  表名 as 别名

  表名 别名

  例如上面语句可用表的别名格式表示为:

  SELECT username,b.cityid

  FROM usertable a,citytable b

  WHERE a.cityid=b.cityid

  FROM不仅能从表或视图中检索数据,它还能够从其它查询语句所返回的结果集合中查询数据。

  例如:

  SELECT a au_fname+a au_lname

  FROM authors a,titleauthor ta

  (SELECT title_id,title

  FROM titles

  WHERE ytd_sales>10000

  ) AS t

  WHERE a au_id=ta au_id

  AND ta.title_id=t.title_id

  此例中,将SELECT返回的结果集合给予一别名t,然后再从中检索数据。

(三) 使用WHERE子句设置查询条件

  WHERE子句设置查询条件,过滤掉不需要的数据行。例如下面语句查询年龄大于20的数据:

  SELECT *

  FROM usertable

  WHERE age>20

  WHERE子句可包括各种条件运算符

  比较运算符(大小比较):>、>=、=、<、<=、<>、!>、!<

  范围运算符(表达式值是否在指定的范围):BETWEEN…AND…

  NOT BETWEEN…AND…

  列表运算符(判断表达式是否为列表中的指定项):IN (项1,项2……)

  NOT IN (项1,项2……)

  模式匹配符(判断值是否与指定的字符通配格式相符):LIKE、NOT LIKE

  空值判断符(判断表达式是否为空):IS NULL、IS NOT NULL

  逻辑运算符(用于多条件的逻辑连接):NOT、AND、OR

  1、范围运算符例:age BETWEEN 10 AND 30相当于age>=10 AND age<=30

  2、列表运算符例:country IN ('Germany','China')

  3、模式匹配符例:常用于模糊查找,它判断列值是否与指定的字符串格式相匹配。可用于char、varchar、text、ntext、datetime和smalldatetime等类型查询。

  可使用以下通配字符:

  百分号%:可匹配任意类型和长度的字符,如果是中文,请使用两个百分号即%%。

  下划线_:匹配单个任意字符,它常用来限制表达式的字符长度。

  方括号[]:指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。[^]:其取值也[] 相同,但它要求所匹配对象为指定字符以外的任一个字符。

  例如:

  限制以Publishing结尾,使用LIKE '%Publishing'

  限制以A开头:LIKE '[A]%'

  限制以A开头外:LIKE '[^A]%'

  4、空值判断符例WHERE age IS NULL

  5、逻辑运算符:优先级为NOT、AND、OR
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐