sql数据查询功能实例大全

发布时间:2020-05-23编辑:脚本学堂
本文介绍了sql数据查询语句的用法,一些sql数据查询的实例代码,查询语言用来对已经存在于数据库中的数据按照特定的组合、条件表达式或次序进行检索,其基本格式是由select子句、from子句和where子句组成的查询块。

sql语言中最主要、最核心的部分是它的查询功能。
查询语言用来对已经存在于数据库中的数据按照特定的组合、条件表达式或次序进行检索,其基本格式是由select子句、from子句和where子句组成的查询块:
select<列名表> from<表或视图名> where<查询限定条件>

select指定了想要看哪些列数据,from指定这些数据来自哪些表或视图,where指定了想看哪些行。
在sql语言中除了查询以外,许多其他功能也都离不开select语句,如创建视图,实际上是利用查询语句来实现的;
又如插入数据时,有很多时候是从另外一张或多张表中选择符合条件的数据。所以,掌握查询语句是掌握sql语言的关键。

sql server中的select语句的完整用法。
 

select select_list [into new_table_] from table_source [where search_condition] [group by group_by_expression] [having search_condition] [order by order_expression [asc | desc]]

一些常用的sql查询语法。

1)检索表中所有列,这是最简单的一种方法,其格式为:
 

复制代码 代码示例:
select * from table_name

2)检索表中特定列,其格式为:
 

复制代码 代码示例:
select column_name from table_name
在查找多列内容时,用‘,’将各字段分开。

3)用单引号加入字符串,其格式为:
 

复制代码 代码示例:
select column_name 'string literal' from table_name

4)改变列标题。在默认情况下,显示的查询结果中的列标题是列名,但用户可以改变列标题。共有以下两种方法:

方法1 采用“列标题=列名”的格式
 

复制代码 代码示例:
select column_heading=column_name from table_name

方法2 采用“列名列标题”的格式
 

复制代码 代码示例:
select column_name column_heading from table_name

5)算术运算符。在列出现的位置上,可以使用算术运算符操纵列,对查询的结果进行计算。这些算术运算符包括:+(加)、-(减)、*(乘)、/(除)和%(取模)。其格式为:
{constant | column_name | function |(subquery)} [{arithmetic_operaor | bitwise_operator | string_operator} …]

6)基于比较的选择行,其格式为:
 

复制代码 代码示例:
select select_list from talbe_list where expression comparision_operator expression

7)基于范围的选择行,其格式为:
 

复制代码 代码示例:
select select_list from table_list where expression [not] between expression and expression

8)基于列表的选择行,其格式为:
 

复制代码 代码示例:
select select_list from table_list where [not] expression [not] in( value_list)

9)基于字符选择行。查找中,有时需要对字符串进行比较。使用like运算符可以完成对字符串的模糊匹配。其格式为:
 

复制代码 代码示例:
select select_list from table_list where expression [not] like 'string'

10)基于多个搜索条件选择行。在where子句中,也可以使用“逻辑运算符”连接多个条件,构成一个更复杂的条件进行查询。可以使用以下3种逻辑运算符:and(逻辑与)、or(逻辑或)、not(逻辑非)。具体格式如下:
 

复制代码 代码示例:
select select_list from table_list where [not] expression {and/or} [not] expression

11)消除重复行。可以用distinct消除重复行,其格式为:
 

复制代码 代码示例:
select [all | distinct] select_list from table_name where search_conditions

12)结果排序。通常用户对查询出来的数据,希望按照某种顺序显示,以便查找。通过order by子句可以改变查询结果的显示顺序。order by子句的格式为:
 

复制代码 代码示例:
select column_name from table_name [order by column_name | select_list _number | expression [asc | desc]

13)分组查询。就是将表中数据按照一定条件分类组合,再根据需要得到统计信息。其格式为:
 

复制代码 代码示例:
select column_name from table_name where search_condition [group by [all] aggregat e_free_expression]

14)compute和compute by。可以通过compute和compute by计算出汇总数据。(www.jb200.com 脚本学堂)
语法为:
compute row_aggregate (column_name)

15)连接查询。在数据库应用中,经常要涉及从两个或更多的表中查询数据,这就需要使用连接查询。其格式如下:
 

复制代码 代码示例:
select column_name from table_name where table_name.column join_ operator table_name.column

上述的连接操作符(join_operator)可以是:=、>、<、>=、<=、! =、< >、! >、! <、= *、* =。在ansi中,“=”连接应该写成inner join;“* =”连接应该写成left out join;“= *”连接应该写成“right out join”。在sql server中,这些写法都可以用。但是,ansi规定的写法是inner join等标志。一般而言,在任何连接中,都使用“主键=外键”的连接查询条件。

16)执行子查询。子查询是指一条select语句作为另一条select语句的一部分。外层的select语句称为外部查询,内层的select语句称为内部查询(或子查询)。子查询分成两种:嵌套查询和相关子查询。子查询能够将比较复杂的查询分解为几个简单的查询。虽然使用子查询可以产生在表之间使用连接操作符相同的结果,但是,其操作运行速度较连接操作慢。

嵌套查询的流程:
首先,执行内部查询,查询出来的数据并不显示出来,而是传递给外层语句,作为该语句的查询条件来使用。
子查询可以多层次嵌套。

例如,查询每个书名、id号及拥有该书的最高百分比版权的作者id,格式为:
 

复制代码 代码示例:
select title_id, au_id, royaltyper from titleauthorta where royaltyper = (select max (royaltyper) from titleauthor where title_id =ta.title_id)

17)查询的基础上创建新表。select into的作用是在查询的基础上创建新表。若建永久表,必须设置“select into / bulkcopy”;若建临时表,必须在表前设置#(局部临时表)或##(全局临时表)。新表的行和列来自查询结果。例如创建#phonytable临时表,该表的数据由每个书名的前40个字符及月平均销售量组成,格式为:
 

复制代码 代码示例:
select title = substring (title, 1, 40), monthly = ytd_sales/12 into #phonytable from titles

18)合并数据集。合并数据集(union)的作用是,把结果组合成一个结果集来操作两个或更多的查询结构。例如:
 

复制代码 代码示例:
select 'ansi', convert (varchar (30), getdate (), 102) as style union select 'japanese', convert (varchar (30), getdate (), 111) union select 'europen', convert (varchar (30), getdate (), 113)

以上就是sql数据查询的一些例子,包括普通查询、连接查询、子查询等,希望对大家有所帮助。