sql查询和排序数据的方法

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

开发工具与关键技术: SQLServer sql语言

作者:刘铭聪

撰写时间:2022年5月29日

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SQL简介

1.SQL语言是集DDL、DML和DCL于一体的数据库语言。

1.1 SQL语言之DDL:定义数据库

1.2 SQL语言之DML:操纵数据库

1.3 SQL语言之DCL:数据权限控制

2.SQL语言主要由以下9个单词引导的操作语句来构成,但每一条语句都能表达复杂的操作请求:

(1)DDL语句引导词:Create、Alter、Drop

模式的定义与删除。包括定义Database、Table、View、Index和完整性约束条件等。

(2)DML语句引导词:Insert、Delete、Update、Select

各种方式的更新与检索操作。

各种复杂条件的检索。如连接查找、模糊查找、分组查找、嵌套查找等。

各种聚集操作。包括求平均、求和等,也包括分组聚集、分组过滤等。

(3)DCL语句引导词:Grant、Revoke

安全性控制:授权和撤销授权

第1节. 查询数据

数据库表是存储数据库中所有数据的对象。 在表中,数据按行和列格式逻辑组织,类似于电子表格(Excel)

SQL Server使用模式对表和其他数据库对象进行逻辑分组。 在[示例数据库])( bk_stores )中,有两个模式: sales 和 production 。 sales 模式将所有与销售相关的表分组,而 production 模式将所有与生产相关的表分组。

要从表中查询数据,请使用 SELECT 语句。 以下是 SELECT 语句的最基本形式:

在上面语法中,首先, select_list 指定要在 SELECT 子句中查询数据的逗号分隔列的列表。其次, schema_name.table_name 是在 FROM 子句中指定源表及其模式名称。处理SELECT语句时,SQL Server首先处理 FROM 子句,然后处理 SELECT 子句,即使SELECT子句首先出现在查询中也是一样。

第2节. 对数据进行排序

使用 SELECT 语句从表中查询数据时,不保证结果集中的行顺序。 这意味着SQL Server可以返回具有未指定行顺序的结果集。

保证结果集中的行已排序的方法是使用 ORER BY 子句。 以下是 ORDER BY 子句的语法:

在上面语法中,

column_name | expression - 指定要对查询结果集进行排序的列名或表达式。 如果指定多个

列,则结果集按第一列排序,然后该排序结果集按第二列排序,依此类推。 ORDER BY 子句中出现

的列必须对应于选择列表中的列或 FROM 子句中指定的表中定义的列。

ASC | DESC - 使用 ASC 或 DESC 指定是否应按升序或降序对指定列中的值进行排序。 ASC 将结果

从最低值排序到最高值,而 DESC 将结果集从最高值排序到最低值。如果未明确指定 ASC 或 DESC ,则SQL Server将默认使用 ASC 来排序顺序。 此外,SQL Server将 NULL 视为最低值。

处理具有 ORDER BY 子句的 SELECT 语句时, ORDER BY 子句是要处理的最后一个子句。

1. 按升序对结果集进行排序

以下语句按名字按升序对客户列表进行排序:

2. 按降序对结果集按一列排序

以下语句按名字降序对客户列表进行排序。

3. 按多列对结果集进行排序

以下语句检索客户的名字,姓氏和城市。 它首先按城市对客户列表进行排序,然后按名字排序。

4. 按多列和不同顺序对结果集进行排序

以下语句按城市按降序对客户进行排序,之后按第一个名称按升序对排序结果进行排序。

5. 按不在选择列表中的列对结果集进行排序,

注意, state 列在 customers 表中定义。 如果不是,那么查询将无效。

可以通过选择列表中未显示的列对结果集进行排序。

例如,以下语句按 state 对客户进行排序,即使 state 列未显示在选择列表中。

6. 按表达式对结果集进行排序

LEN() 函数返回字符串的字符数。 以下语句使用 ORDER BY 子句中的 LEN() 函数来检索按名字长度排序客户列表。

7. 按列的序数位置排序

SQL Server允许根据选择列表中显示的列的序号位置对结果集进行排序。

以下语句按名字和姓氏对客户进行排序。 但是它没有显式指定列名,而是使用列的序号位置:

sql查询和排序数据的方法相关推荐

  1. sql查询返回xml数据之应用【转载】

    sql查询返回xml数据之应用[转载] 今天查看邮件,看到一标题Using the FOR XML Clause to Return Query Results as XML,点进去看了看,以前也是知 ...

  2. 【笔记】SQL查询语句的基本使用方法

    SQL查询语句的基本使用方法 基本查询 SELECT查询语句 --查询所有的学生的学号和姓名 USE JXGL SELECT SNO,SNAME FROM S 简单查询 --查询所有的学生的姓名,学号 ...

  3. SQL数据库语言基础之SqlServer条件查询、排序数据表、like模糊查询【大总结】

    文章目录 一.语句查询数据(SELECT) 二.获取满足查询条件的语句(WHERE) 三.排序查询(ORDER BY) 四.高级条件查询 一.语句查询数据(SELECT) 1.在SSMS中查看数据 在 ...

  4. SQL查询单表数据之排序(二)

    [SQL从一点一滴分析系列文章]为实际开发中的点点滴滴的总结,从最最简单的SQL 查询 到 综合分析查询 在分析 SQL 时,也会同时分析 mybatis .Hibernate 中的相关操作 点击查看 ...

  5. SQL查询单表数据之组合(三)

    [SQL从一点一滴分析系列文章]为实际开发中的点点滴滴的总结,从最最简单的SQL 查询 到 综合分析查询 在分析 SQL 时,也会同时分析 mybatis .Hibernate 中的相关操作 点击查看 ...

  6. php mssql扩展SQL查询中文字段名解决方法

    一.问题: 数据库是MS SQLServer2000,要把SQLServer2000里的一张表的数据导入MySQL5,其中SQLServer2000表的字段以简体中文命名(强烈建议不要以中文做为字段名 ...

  7. mysql sql查询昨天的数据_sql语句,查询昨天的数据

    如果在程序中,有前台传来两个时间点:beginTime和endTime,在sql查询中的限制条件就是查询昨天的数据,那么可以这样写: 但是如果在这里要查询昨天的数据的话, 则不能简单地在开始时间的那里 ...

  8. sql 查询不重复数据

    sql不重复的查找统计数据 2007-06-29 11:04 例表如下: 表名:MYTEST TID    COL1    COL2     COL3 1           1           ...

  9. php mysql 中文字段名_php mssql扩展SQL查询中文字段名解决方法

    一.问题: 数据库是MS SQLServer2000,要把SQLServer2000里的一张表的数据导入MySQL5,其中SQLServer2000表的字段以简体中文命名(强烈建议不要以中文做为字段名 ...

最新文章

  1. php redis 用户注册,redis+php实现微博(一)注册与登录功能详解
  2. 实例分析JAVA CLASS的文件结构
  3. 【青海】2021年下半年软考报考时间及通知
  4. 第四十二篇 面对对象进阶
  5. 【模板】扩展中国剩余定理(EXCRT)
  6. spring框架 AOP核心详解
  7. [转]Data mining with WEKA, Part 3: Nearest Neighbor and server-side library
  8. cache_purge php
  9. tomcat7 加载el表达式 报错 使用tomcat8得以解决
  10. 求矩阵中各列数字的和
  11. Windows 2000的电源管理
  12. WinEdt LaTex(三)—— 宏包
  13. sqlserver 组内排序
  14. vs2013 c++代码内出现中文导致编译错误
  15. 【python】将json字符串转化为json对象
  16. 【笔记】MySQL 根据出生日期计算当前年龄
  17. 磁盘基础知识-磁盘的构成
  18. windows xp 安装python3.4.4(xp最高支持到3.4.4,后续版本不支持)
  19. centos6.5 MailScanner+ Spamassassin垃圾邮件过滤器+clamav 杀毒软件
  20. 大作都是怎么诞生的,游戏开发全过程揭秘 !零基础小白入门须知

热门文章

  1. 面试官:您能说说序列化和反序列化吗?是怎么实现的?什么场景下需要它?
  2. 静态链表(学习笔记)
  3. python除法运算代码_Python除法运算和幂运算代码实例
  4. tomcat 项目启动报错的解决方案
  5. MySQL简介和基本使用
  6. 如何获取瘦人肠道菌群_还是瘦不下来?吃屎啦!——肠道菌群是怎样影响我们胖瘦的?...
  7. 搭建nginx代理服务器
  8. 转载 | 访问控制的定义及五大实现挑战
  9. 大数据用户画像系统架构设计
  10. 随笔:nginx服务器安装及启动