`
天梯梦
  • 浏览: 13655486 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

SQL查询语句 select

SQL 
阅读更多

查询select: 1。单表查询 2。多表查询 3。嵌套查询


分类
      1)单表查询
      2)多表查询
          A.连接查询
          B.子查询
              ①一般子查询   ②相关子查询

 

***************************************


SQL查询语句《一》:单表查询

 

1.查询全部记录:select * from table_name

 

2.查询指定字段记录:select 字段列表 from table_name

 

3.过滤相同记录:select Distinct 字段列表 from table_name


<SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认为ALL。
使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。
使用distinct会减慢查询速度,数量大的查询更明显>

 

4.带表达式的查询:select s_name,year(s_birthday) as year from table_name

 

5.指定查询结果的查询
   select top n * from table_name <n值在0--429494967295间>
   select top n PERCENT * from table_name <n值在0--100间>
   (返回前/后n行,前/后n%的数据)

 

6.指定查询路径的查询:


   select * from database_name.dbo.table_name
   形式:数据库名.数据库表拥有者.表名
   (可以跨越数据库和使用者进行查询)

 

7.存储查询结果到另一个表


   select 字段列表 into 新表名 from 表名
   select sno,cno,degree into scorekkk from score
   select sno,cno,degree into tempdb.#scorekkklll from score
   <#为虚拟表,可一跨数据库创建!>

 

8.更改列表名显示的查询


   select 字段名1 as ''A'',字段名2 as ''B'' from 表名
   select "A"=字段名1,"B"=字段名2 from 表名
   select 字段名1"A",字段名2"B" from 表名

 

9.条件查询<Where子句>


   select 字段名列表 from 表名 where 条件表达式

   条件表达式运算符:
   比较运算符(=,<,<=,>,>=,!<,!>,!=,<>)
   逻辑运算符(or,and,not)
   范围说明(between and,not between and)
   可选值列表(in,not in)
   模式匹配(like,not like)
   是否为空值(is null,is not null)


   <注:字符型字段必须用单引号,数字型字段则不用;like和not like适合字符型字段查询。>

 

like 子句与通配符一起使用,
Like "字符串",字符串含通配符或空格
%,一个或多个任意字符;
_,一个任意字符;
[],方括号中的任意一个字符;
[^],任意一个在括号中没有的字符。

 

11.排序查询<Order by子句>


   select 字段名列表 from 表名 [where 条件表达式] order by 字段名表达式 desc/asc
   select * from Sclass order by cno asc,degree desc
   <使用ORDER BY子句对查询返回的结果按一列或多列排序。ORDER BY子句的语法格式为:ORDER BY {column_name [ASC|DESC]} [,…n]  其中ASC表示升序,为默认值,DESC为降序。ORDER BY不能按ntext、text和image的数据类型进行排序。>

 

12.分组查询<Group by子句>


   select 字段名列表 from 表名 [where 条件表达式] group by 字段名
   select 字段名列表 from 表名 [where 条件表达式] group by 字段名 Having <筛选表达式>
   select cno,avg(degree) as chengji from score group by cno
   select cno,avg(degree) as chengji from score group by cno Having avg(degree)>80

 

   <字段名列表中包含聚合函数时,则计算每组的汇总值。


   如果使用Group by子句,字段名列表中任一非聚合表达式内的所有列都必需包含在 Group by列表中,或者Group by表达式必须与选择列表表达式完全匹配。>   筛选查询<Having子句>   <Having子句对Group by子句分组后的结果进行筛选,看其是否满足条件。 故此Having只能配合group by子句使用。>

 

   当Where子句,Group by子句,Having子句同时使用时,其顺序如下:


①执行Where子句,从表中选取行;
②由Group By分组;
③执行Having子句选取满足的分组条件。


   聚合函数:使用聚合函数,实现数据统计。
AVG:计算平均数
Count(*):统计查询输出的记录总数
Count():统计指定列中选择的记录总数
Max:最大值
Min:最小值
Sum:计算总和
Stdev:计算统计标准偏差
Var:统计方差

 

 

13.汇总查询<Compute子句>

 

(1).compute:
    Select 字段名列表 From 表名 [where 条件表达式] Compute 汇总表达式
    Select cno,sno,degree From score Compute avg(degree)
    <compute子句生成的汇总结果附加在结果集的后面,汇总表达式须用到聚合函数>

 

(2).compute by:
    Select 字段名列表 from 表名
    [where 条件表达式] order by 字段名 compute 汇总表达式 by 分类字段名
    Select sno,cno,degree From sclass Order by cno compute Avg(degree) by cno
    Select sno,cno,degree From score Order by cno Asc,degree Desc
    compute avg(degree) by cno
    <compute by子句根据by后的字段名进行分组,必须与order by子句一起使用,分类字段名必须与order by后的字段名一致。>

 

***************************************

 

简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件
等。


完整的Select 语句用法:


SELECT 字段列名
[INTO 新表名]
FROM 表 | 视图名
[WHERE 查询限定条件]
[GROUP BY 分组表达式]
[HAVING 分组条件]
[ORDER BY 次序表达式[ASC | DESC]]

 

(2)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


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


例如:
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子句可包括各种条件运算符:
比较运算符(大小比较):>、>=、=、<、<=、<>、!>、!<

范围运算符(表达式值是否在指定的范围):BETWEEN…AND… NOT BETWEEN…AND…
列表运算符(判断表达式是否为列表中的指定项):IN (项1,项2……) NOT IN (项1,项2……)
模式匹配符(判断值是否与指定的字符通配格式相符):LIKE、NOT LIKE
空值判断符(判断表达式是否为空):IS NULL、NOT IS 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

分享到:
评论

相关推荐

    可视化sql查询语句生成器

    可视化sql查询语句生成器,通过点击选择,生成Sql查询语句

    数据库系统原理实验报告-SQL查询语句.doc

    "数据库系统原理实验报告-SQL查询语句" 数据库系统原理实验报告-SQL查询语句是关系数据库管理系统的核心组件之一。实验报告的主要目的是让学生熟悉关系数据库标准语言 SQL,並且掌握基本的 SQL 查询语句。 一、...

    SQL语句 SELECT LIKE like用法详解SQL语句 SELECT LIKE like用法详解

    SQL语句 SELECT LIKE like用法详解SQL语句 SELECT LIKE like用法详解SQL语句 SELECT LIKE like用法详解

    SQL查询语句使用详解,[收集].pdf

    SQL 查询语句使用详解 SQL 查询语句是数据库管理系统中最基本的语言,用于管理和操作数据库中的数据。SQL 查询语句使用详解为学习 SQL 查询语句提供了详细的指导,涵盖了选择列表、FROM 子句、WHERE 子句等基本概念...

    SQL语句之Select语句技巧总结

    自己总结的一些关于SQL语句中Select语句常用的几种方法。里面有相信的说明,下载后查阅!

    数据库中SQL查询语句习题含答案.doc

    数据库中 SQL 查询语句习题含答案 本资源主要讲述了数据库中 SQL 查询语句的习题和答案,涵盖了数据库的基本概念和 SQL 查询语句的应用。通过这份资源,读者可以学习和掌握数据库中 SQL 查询语句的基础知识和高级...

    数据库SQL查询语句练习题.pdf

    数据库SQL查询语句练习题 数据库SQL查询语句是数据库管理系统中的一种基本语言,用于对数据库中的数据进行查询、插入、更新和删除等操作。本文档提供了一个教学数据库Education的查询练习题,涵盖了基本的查询语句...

    SQL查询语句——SELECT的使用技巧.pdf

    SQL查询语句——SELECT的使用技巧.pdf

    sql之select语句

    sql之select语句,sql之select语句,sql之select语句,sql之select语句

    数据库SQL查询语句练习题.doc

    结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统; sql 语句就是对数据库进行操作的一种语言。 常见语句 ...

    sql查询语句

    sql中查询语句 select * from tablename

    XML查询语句转换成SQL语句的实现.pdf

    XML 查询语句转换成 SQL 语句的实现 本文主要讨论将 XML 查询语句转换成 SQL 语句的实现。XML 已经成为 Internet 上数据交换的事实标准,特别是在 Web 数据挖掘技术中,对数据源的结构化需求导致人们对 XML 文档的...

    SQL查询语句例题详解[定义].pdf

    在SQL查询语句中,我们可以使用SELECT语句来指定要查询的列。例如,查询教师的学号与姓名,可以使用以下语句: SELECT t_no, t_name FROM teacher 这条语句将查询teacher表中的t_no和t_name两列,并将结果返回给...

    SQLserver查询语句大全

    SQL查询语句大全,根据多份资料整理起来的,希望对大家有帮助。

    SQL查询语句用法及实例资料.ppt

    基本查询语句是SQL查询语句的基础,包括SELECT、FROM和WHERE三个部分。SELECT语句用于选择要查询的列,FROM语句用于指定要查询的表,WHERE语句用于指定查询的条件。 例如,从学生表中输出学号、姓名和性别。使用...

    SQL查询语句基础

    Oracle数据库设计与建模 1、select语句查询单表 2、限制性查询和数据的排序 3、别名的使用 4、distinct 5、order by语句使用 6、group by语句使用

    00587 Oracle公司内部数据库培训资料-Les01基本SQL SELECT语句(PPT 29页).ppt

    在SQL语句中,操作符的优先级很重要。基本的操作符包括+-*/等。例如: SELECT last_name, salary, salary + 300 FROM employees; 在上面的语句中,加号+的优先级高于乘法*。因此,salary + 300将先执行,得到的结果...

    SQL查询语句精华

    SQL查询语句精华交叉连接 交叉连接不带WHERE 子句,它返回被连接的两个表所有数据行的笛卡尔积,返回到结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。 例,...

    仿制简单的SQL select查询语句,用于对二维数组的查询,建立环境-Excel Vba,可移植到VB环境中

    '参照SQL语句:Select * From array [Where conditions] [Distinct fields] [ResultWithTitle] ' '实现功能: ' 依条件设置查询数组,返回包含查询字段(或全部字段)的数组,可多条件组合。 ' 条件运算符包括:&gt; = ...

    数据库设计(包括select语句、子查询、语句嵌套)

    关于电影公司的数据库设计建模 包括 select语句 子查询,语句嵌套等

Global site tag (gtag.js) - Google Analytics