select select_list
[ into new_table ]
from table_source
[ where search_condition ]
[ group by broup_by_expression ]
[ having search_condition ]
[order by order_by_expression [ asc | desc ]

select查询语句中的主要参数说明如下

select_list:查询的列或者表达式的列表,用逗号进行分隔。 new_table:新的表名。 table_source:要查询的表。如果是多个表,用逗号进行分隔。 search_condition:查询条件。 group_by_expression:分组表达式。 order_by_expression:排序表达式。 asc:升序排序。 desc:降序排序。

select查询语句字句的功能列表

子句 主要功能 是否必需
select 指定由查询返回的列
from 指定要查询的表
into 创建新表并将结果行插入新表中
where 查询条件
group by 对查询结果进行分组
order by 对查询结果进行排序
having 对查询结果进行筛选

二、选择列表

  选择列表用于定义select语句的结果集中的列

  1、*  查询所有列:

  select * from person  

  *就是结果集合,表示查询person表中的所有列。

  2、distinct  去除重复数据:

   distinct是对所有列作用,也就是说,所有列都相同才算重复数据。

  select distinct name from person

  3、包含函数的查询:

  例如:

  select count(*) from person

三、from子句

from子句实际上就是用逗号分隔的表名、视图名和join字句的列表。使用from子句可以实现如下功能:

1、列出选择列表和where子句引用的列所在的表和视图。可以使用as子句为表和视图指定别名。

2、联接类型。这些类型由on子句中指定的联接条件限定。

分配表名时可以使用如下形式

    • table_name  as  table alias
    • table_name  as  table_alias

需要特别说明的是,如果为表分配了别名,那么T-SQL语句中对该表的所有显示引用都必须使用别名,而不能使用别名。

四、where子句

where子句可以筛选结果集的源表中的行。带有where子句的select语句的结构如下:

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

其中,条件表达式是由各种字段、常量、表达式、关系运算符、逻辑运算符和特殊的运算符组合起来的。

where子句中的运算符:

1、关系运算符

  关系运算符用来表示两个表达式之间的比较关系。

关系运算符 含义
= 等于
< 小于
> 大于
!=(或<>) 不等于
>= 大于等于
<= 小于等于
!> 不大于
!< 不小于

  2、逻辑运算符

    逻辑运算符用于表示两个表达式之间的逻辑关系:

逻辑运算符 含义
not 非(否)
and
or

  3、特殊运算符

特殊运算符 含义
% 通配符,通常与like配合使用
_ 通配符,代表严格的一个字符。where name like '_xxx'将查找以xxx结尾的所有4个字母的名字(sxxx,dxxx等)
[] 指定范围([a-f])或集合([abcdefg])中的任何单个字符。where name like '[a-f]xxxx',将超找以abcdef开头,xxxx结尾的字符。
[^] 不属于指定范围的([a-f])或集合([abcdefg])的任何单个字符。
between 定义一个取值范围区间,使用and分开。between开始值与and结束值。
like 字符串匹配
in 一个字段的值是否在一组定义的值之中
exists 子查询有结果集返回(则子查询返回True)
not exists 子查询没有结果集返回(则子查询返回True)
is null 字段是否为null
is not null 字段是否不为null

在WHERE子句中使用EXISTS(如果使用得当的话)可以大大提高性能。因为使用EXISTS时,只要找到和条件匹配的记录,SQL Server就立即停止。假设有一个包含一百万条记录的表,并且在第三个记录中找到了匹配的记录,那么使用EXISTS选项将避免读取999997条记录!NOT EXISTS以同样的方式工作。

五、group by子句

  详见地址:http://www.cnblogs.com/kissdodog/p/3365789.html

六、order by子句

  order by子句用于指定结果集的排序

  1、语法结构:

    select <字段名列表>
    from 数据库表名
    [where <条件表达式>]
    [order by[<字段名或者表达式> [asc|desc],...]]

  order by子句可以搭配where子句,也可以和select、fromD搭配使用,而不需要where子句。

  order by子句的语法如下:

    [ order by { order_by_expression [ asc | desc] } [ ,...n ] ]

其中主要的参数说明如下:

  order_by_espression:指定要排序的列、列的别名、表达式或者指定为代表选择列表内的名称、别名或表达式的位置的负整数。

  asc:按递增顺序对指定列中的值进行排序。

  desc:按递减顺序对指定列中的值进行排序。

七、having筛选查询

  详见地址:http://www.cnblogs.com/kissdodog/p/3365789.html

八、into查询

  into子句将查询结果生成新表,新表的结构由查询字段列表组成。也可以将查询的结果送入tempdb数据库的临时表中,这样关闭服务器之后临时表会自动删除。

  into查询的语法结构:

  SELECT <字段名列表>
  [ into 新的数据表名 ]
  FROM 数据库表名
  [ where <条件表达式> ]

SQL语句 - 基本查询的更多相关文章

  1. SQL语句在查询分析器中可以执行,代码中不能执行

    问题:SQL语句在查询分析器中可以执行,代码中不能执行 解答:sql中包含数据库的关键字,将关键字用[]括起来,可以解决. 后记:建数据库的时候尽量避免使用关键字. 例子: sql.Format(&q ...

  2. 如何在 Linux 上用 SQL 语句来查询 Apache 日志

    Linux 有一个显著的特点,在正常情况下,你可以通过日志分析系统日志来了解你的系统中发生了什么,或正在发生什么.的确,系统日志是系统管理员在解决系统和应用问题时最需要的第一手资源.我们将在这篇文章中 ...

  3. 在Hibernate中使用HibernateTemplate来进行包含sql语句的查询

    /**     * 使用sql语句进行查询操作     * @param sql     * @return     */    public List queryWithSql(final Stri ...

  4. Sql语句之查询所有学生所有科目分数及总分

    昨天练Sql语句,数据库建了四个表分别是,学生表,课程表,成绩表以及教师表(教师表不在讨论范围),突然想到以前高中时代老师手上的那张成绩表,然后我就寻思着能不能用Sql语句把表打印出来,以下是我的思考 ...

  5. Python与开源GIS:在OGR中使用SQL语句进行查询

    摘要: 属性选择与空间选择都可以看作是OGR内置的选择功能,这两种功能可以解决大部分实际中的问题.但是也有这种时候,就是进行查询时的条件比较复杂.针对这种情况,OGR也提供了更加灵活的解决方案:支持使 ...

  6. SQL 语句在查询分析器执行很快,程序 Dapper 参数化查询就很慢(parameter-sniffing)

    这个问题困扰我好长时间了,使用SQLSERVER 事务探查器找到执行超时的SQL语句,参数查询都是通过执行exe sp_executesql 的存储过程调用,因为它能够分析并缓存查询计划,从而优化查询 ...

  7. [Beego模型] 四、使用SQL语句进行查询

    [Beego模型] 一.ORM 使用方法 [Beego模型] 二.CRUD 操作 [Beego模型] 三.高级查询 [Beego模型] 四.使用SQL语句进行查询 [Beego模型] 五.构造查询 [ ...

  8. SQL语句关联查询

    一:连接类型: 关联查询:只有存在关联的表才能关联查询,完全独立的表之间无法关联 1.关联的类型:自关联,左关联,右关联,全关联(full join)两张表都是主表 2.关联的表:两张以上,以一张(或 ...

  9. MySQL的EXPLAIN命令用于SQL语句的查询执行计划

    MySQL的EXPLAIN命令用于SQL语句的查询执行计划(QEP).这条命令的输出结果能够让我们了解MySQL 优化器是如何执行SQL 语句的.这条命令并没有提供任何调整建议,但它能够提供重要的信息 ...

  10. mysql 常用 sql 语句 - 快速查询

    Mysql 常用 sql 语句 - 快速查询 1.mysql 基础 1.1 mysql 交互         1.1.1 mysql 连接             mysql.exe -hPup    ...

随机推荐

  1. angular-ui-bootstrap的进度条问题及解决

    在测试angular-ui-bootstrap中的进度条的时候,用的是官方的示例代码,但是跑不起来. 经过代码比对之后,发现官方用的是0.14.3, 而我本地用的是0.13.3 (2015-08-09 ...

  2. (转)SpringSecurity扩展User类,获取Session

    1.在session中取得spring security的登录用户名如下 ${session.SPRING_SECURITY_CONTEXT.authentication.principal.user ...

  3. NodeJS http 模块

    #4 NodeJS http 模块 工作目录 server.js var http = require('http'); var fs = require('fs'); var path = requ ...

  4. 模仿angularjs写了一个简单的HTML模版和js数据填充的示例

    <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...

  5. atitit.技术选型方法总结为什么java就是比.net有前途

    atitit.技术选型方法总结为什么java就是比.net有前途 #----按照不同的需要有不铜的法... 一般有开发效率,稳定性上的需要.. 作者 老哇的爪子 Attilax 艾龙,  EMAIL: ...

  6. JavaWeb学习总结(十二)——Session

    一.Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据时,服务 ...

  7. Ninx虚拟主机的配置

    1.配置ip ifconfig eth0 192.168.1.7 netmask 255.255.255.0 ifconfig eth0 192.168.1.17 netmak 255.255.255 ...

  8. 我所理解的JavaScript闭包

    目录 一.闭包(Closure) 1.1.什么是闭包? 1.2.为什么要用闭包(作用)? 1.2.1.保护函数内的变量安全. 1.2.2.通过访问外部变量,一个闭包可以暂时保存这些变量的上下文环境,当 ...

  9. Window Server 2008 R2 TFS2010的安装和配置

    1.打开Setup进行安装 2.下一步,然后功能全选 3.点击安装,便开始安装了 安装成功 配置 进行配置之后,选择高级,因为其他功能可能没那么多 到如下界面后,直接进行下一步就可以 下一步,设置TF ...

  10. CAN Timing Sample Point

    typedef struct { //char name[ 16 ]; // Name of the CAN controller hardware //uint32_t ref_clk; // CA ...