Delphi(程序人生)

Delphi Programer DoubleCat

导航

Select语句

Select语句


 

1,选择部份列

   Select 列,列 From 表

注意,最后一列不要加','号

----------------------------------------

2,产生新的空列

Select '空列',列 From 表

注意:空列要用引号引起来,默认的情况下,列值与列名同

如:select '空列'='Hello'  From 菜单

---------------------------------------------

3,相同数据类型的列可以加起来

Select 列+列 From 表

这样会产生一个新列,列值为二个列加来,可以字串,也可以数字

--------------------------------------------------

4,更改列名

select 新列名=旧列名, 新列名=旧列名 From 表

Select 旧列名 As 新列名, 旧列名 As 新列名 From 表

---------------------------------------------------------------

5,不显示重复行

Select Distinct *  From 表

6,列出前多少行

Select TOP 100 * From 表  TOP后面最大为4294967295=DWORD=Cardinal

也可以这样,前5行,且不重复

select  Distinct  Top 5  *  From 菜单

注意:多开关中间用空格隔开

------------------------------------------------------------------

7,查询介于某一范围内的数据

Select * From 表 Where 字段 Between 50 And 100

注意:可以查询数字,也可以查询字串,一般Between后写较小的, And 后面写较大的

----------------------------------------------------------------------

在这里也可以于>= <= <>等罗辑表达式

-----------------------------------------------------------------------------

8,IN 条件,用于查询属于某集合的数据

Select * From 表 Where 字段 In (11,22,33,100)

当然也可以用字串字段,In条件用于多条件选择查询是有特效,比字段=值好用

-------------------------------------------------------------------------------

9,Like条件

Select * From 表 Where 字段 Like '%-----%';

Select * From 表 Where 字段 Not Like '%-----%';

注意: Like后面是一个单引号引起的字串

----------------------------------------------------------------------------

10.多表关联查询

Select Distinct 帐单表.帐单号,点单表.酒水名称,点单表.数量,点单表.价格 From 帐单表,点单表 Where 帐单表.帐单号 = 点单表.帐单号 and 点单表.价格>30 Order by 帐单表.帐单号

这里是有条件的,

1,表 A 与 表 B 必须要有一个字段类型是一样的,且有相同的数据,

查询中,最少有一个是A表的字段,有一个是B表的字段

这样的结果是,产生一个,动态传入SQL语句的主从表合集,

Where 条件中,把相等的字段关联起来

------------------------------------------------------------------------------

11,Order By 子句

Order By 可以对多列进行排序,列之间用(,)隔开,默认是ASC(升序排列),如果要用DESC(降序)要用工指定

----------------------------------------------------------------------------------

12.Group By 分组子句

很少使用Group By,

Group By的作用是:把From 子句(前面的列名)中的关系按分组属性划分为若干组,同一组内所有记录在分组属性上具有相同的值.用Gropu By + Having 可以不使用 Where 条件语句

如:

Select A,B,C,D From 表 Goup By A,B,C,D Having D='Hello';

如果这个语句中不用Group 那么Having 相当于Where

-------------------------------------------------------------------------------------------

13,Select InTo

如:

Select * InTo A From B Where 1=2;

这样A表的数据结构与B是一样的,A表无记录

-------------------------------------------------------------------------------

14,删除表

Drop Table A

------------------------------------------------------------------------------

15,嵌套Select

原理,Select 本身就是从数据集或数据视图上产生一个数据视图,

Select (Select 字段 From  A表 Where 唯一条件)  列名,(Select 字段 From B表 Where 唯一条件)  列名 (这后面不要加 Where条件)

这样就从A表,B表中的2个列产生一个新表且只有一条记录,(注意,子查询中的记录必须是唯一)

如:

select (Select col002 from temp2 where col001='350000')  省 ,(Select Col002 From Temp2 where col001='350400')  市 ,(Select Col002 From Temp2 where col001='350429')  区


posted on 2008-06-13 16:25  DoubleCat  阅读(483)  评论(0编辑  收藏  举报