select查询(转)

转载 2006年06月11日 18:09:00
select查询
SQL可以按照多个列来排序,并且用来排序的列不必是select语句要返回的结果列,所以排序列的方式具有很大的灵活性。如果确实需要对数据进行排序,那么就应当利
ordre by子句来实现它,这是一种好的开发习惯。
(1)    使用列名指定排序顺序
SELECT FirstName,LastName
FROM dbo.Customer
ORDER BY LastName,FirstName
(2)    使用表达式指定排序顺序
SELECT LastName +’,’ +FirstName AS FullName
FROM dbo.Customer
ORDER BY LastName +’,’ +FirstName
 order by子句使用表达式,可以解决一些令人头疼的问题。如:在下面的例子中,如果标题中包含有前导“The”,那么case表达式将把它从标题中去掉,并利用处理以后的结果来排序:
SELECT Title,Len(FableText) AS TextLength
FROM Fable
ORDER BY
     CASE
        WHEN SubString(Title,1,3)=’The’
           THEN SubString(Title,5,Len(Title)-4)
     ELSE Title
END
执行结果如下:
Title                                    TextLength
     ------------------------    ---------------------------------- 
     Androcles                                          1370
     The Ant and the Chrysalis                  1087
     The Ants and the Grasshopper            456
     The Ass in the Lion’s Skin                 465
     The Bald Knight                                   360
     The Boy and the Filberts                      435
     The Bundle of Sticks                            551
     The Crow and the Pitcher                     491
     … …                                                    …
(3)    使用列别名指定排序顺序
   在按照表达式排序时应当首选这种方法,因为它使得代码更容易读了。在下面的例子中,不仅使用了这种方法,而且还为其指定了降序的排序方式,而不是默认的升序排序:
   SELECT LastName +’,’ +FirstName AS FullName
      FROM dbo.Customer
      ORDER BY FullName DESC
 注意:虽然可以在order by子句中使用别名,但却不能在where子句中使用别名。这是因为在逻辑上where子句是在查询刚开始的时候执行的,此时还没有完成建立结果列及其别名的工作,因而不能使用别名;而order by子句却是最后一步执行的逻辑操作,此时结果列及其别名都已经创建了。
(4)    使用列的位置序号指定排序顺序
我不推荐大家使用这种方法,因为如果在select语句中改变了结果列的排列顺序,order by子句就会按照不同的列进行排序了。但是,我会在复杂的并查询中使用列的序号来指定排序的顺序。如:
SELECT LastName +’,’ +FirstName AS FullName
FROM dbo.Customer
ORDER BY 1
执行的结果如下:
FullName
---------------------------------------------
Adams,Joe
Anderson,Missy
Andrews,Debble
Bettys,Dave
… …

ThinkPHP5 select出来的结果是个对象?居然还可以以数组形式访问数据?

目录目录 前言 TP5中的select方法 为什么可以这么操作 总结 思考前言  在使用TP5的过程中,我们会发现,使用select方法查询数据库中的数据后dump出来的结果是对应模型的对象。其中该对...
  • qq_15096707
  • qq_15096707
  • 2017年03月15日 16:31
  • 8746

MySQL如何将select子查询结果横向拼接后插入数据表中

我的要求具体是这样的。我有数据表audit的结构如下:+-----------+------------+------+-----+-------------------+-------+ | Fie...
  • K346K346
  • K346K346
  • 2016年07月02日 11:25
  • 4845

oracle查询时类型转换

数值型函数 abs:求绝对值函数,如:abs(−5) 5 sqrt:求平方根函数,如:sqrt(2) 1.41421356 power:求幂函数,如:power(2,3) 8 cos:...
  • ryantotti
  • ryantotti
  • 2013年11月18日 09:17
  • 12294

PHP实现select新闻查询及超链接详情跳转(基础代码)

  • 2017年05月02日 16:54
  • 697KB
  • 下载

[WAMP网站开发] PHP实现select新闻查询及超链接详情跳转

这篇文章是最近教学生使用WAMP(Windows+Apache+MySQL+PHP)开发网站的基础知识。前文 "[WAMP网站开发] PHP连接MySQL数据库基础知识" 讲解了HTML布局首页,PH...
  • Eastmount
  • Eastmount
  • 2017年05月02日 16:49
  • 1996

玩转SELECT语句(二)之多表联合查询

先看一个自考题中最简单的例子:          有两个关系模式:职工(职工号,姓名,性别,年龄,职务,工资,部门号)                                      ...
  • u013047584
  • u013047584
  • 2014年10月12日 23:18
  • 3201

SQL select查询原理--查询语句执行原则<转>

1.单表查询:根据WHERE条件过滤表中的记录,形成中间表(这个中间表对用户是不可见的);然后根据SELECT的选择列选择相应的列进行返回最终结果。 1)简单的单表查询 SELECT 字段  ...
  • forward_back
  • forward_back
  • 2017年10月19日 10:00
  • 79

select跳转菜单新窗口

  • 2011年11月07日 16:07
  • 810B
  • 下载

SQL 基础--SELECT 查询

  • 2013年09月11日 11:21
  • 77KB
  • 下载

Select查询语句基本语法及常用语句

  • 2012年08月22日 01:10
  • 59KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:select查询(转)
举报原因:
原因补充:

(最多只允许输入30个字)