SQL BASE SQL 2000

命令语法:

-- Distict 是对整个表查询、不是针对列,如果有多列,将返回多列的唯一的值。
Select distinct (workerid),wfingerId from  WorkerFinger group by workerid,wfingerId,userId  having sum(wfingerid)>3 and wfingerID<4 order by workerId desc

--查询结果:workerid 不唯一, workerid,wfingerId 才唯一。

--Like

--% 表示0到n个任意字符;
--
_ 表示单个任意字符;
--
[] 表示括号中列出的任意字符;
--
[^]表示一个没有在括号中列出的字符;

-- 转义字符使用
--
查找以"[X"开头,以"]"结尾。
Select col1 From example
where coll like 't[X[XYZ]Z]'
ESCAPE 't'
--ESCAPE规定转义字符

char 每个字符使用一个字节存储,最多可以容纳8000个字符。
sql_variant 可以为存储除text,
ntextimage,sql_variant 之外的类型。

Group by 不支持对列分配的别名,也不支持任何使用了统计函数的集合列。另外,Select 后面每一列数据除了出现在统计函数中的列意外,都必须在Group by子句中应用。

GROUP BY 和 WHERE 子句

可以在包含 GROUP BY 子句的查询中使用 WHERE 子句。在进行任何分组之前,将消除不符合 WHERE 子句条件的行。例如:

USE pubs
SELECT type, AVG(price)
FROM titles
WHERE advance > $5000
GROUP BY type

Having 是对统计结果的操作。

CUBE对查询结果进行统计。

COMPUTE 子句,允许同时观察查询得的各列数据的细节及统计各列数据所产生的总和。

COMPUTE BY 子句可以返回多种结果集,通过Group by子句只能产生一个结果集。

嵌套查询:
Select * from TA where F1 in (Select fb1,fb2 from TB ) ORDER BY .

嵌套查询返回的记过作为查询条件等号右边的值存在时,只允许嵌套查询返回一行结果。

Select * from TA where F1 Exists (Select * from TB ) ORDER BY .
Exists 采用的不是等号,不是IN关键字,它直接与嵌套查询相关联。

Exists 所采用的嵌套查询之间的连接不是列之间的关系,而是表之间的关系。

Not Exists ,Not in 大大降低查询的复杂度。

编程语法:
http://www.cnblogs.com/winzheng/articles/1528483.html
BEGIN
 
END

Use pubs
While Not Exists (select price from title where price <$30
Begin
    
Update titles 
    
Set price = price*1.5
    
if(Select Max(price) from tiltes)>$50
          
break
    
else
         
continue
End
Print "书价太贵了"
End

Case:

Select "作者"=
       
CASE state
            
WHEN "CA" THEN "加利福尼亚"
            
WHEN "KS" THEN "堪萨斯州"
       
End
FROM authors
Order by state


态度决定一切,技术改变生活作者:winzheng                                            
出处:http://cnblogs.com/winzheng
本文为原创作品,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。

 


posted @ 2009-07-22 12:28  winzheng  阅读(191)  评论(0)    收藏  举报