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') 区