Sybase入门
2006-03-05 21:48:31 来源:WEB开发网核心提示: 三、SQL 查询语言 SQL不仅包括查询数据的有关命令,还包括创建数据库及其对象,Sybase入门(3),增、删、改数据等功能,分别定义为数据查询语言, Select distinct t1.type from titles t1 Where t1.type in ( select t2.type from titl
三、SQL 查询语言
SQL不仅包括查询数据的有关命令,还包括创建数据库及其对象,增、删、改数据等功能。分别定义为数据查询语言,数据定义语言及数据操作语言。这里先介绍数据查询语言。其基本句法为:
Select select_list from table_list where search_conditions
1、简单查询
A、选择若干列
Select expression [,expression]... From table_list
B、选择若干行
查出电话号码以415到头的记录
Select * from code_1th where tel like '415%'
查询中消除值重复的行
Select distinct tel from code_1th
对Text 和 char 可用 like ,其中可用通配符‘%’及‘-’,分别代表多个字符和单个字符。
其他常用查询条件有:(出text类型除外)
大小比较 =、>、<、>=、<=、!=、!>、!<
范围确定 between exp1 and exp2 /net between exp1 and exp2
列表或集合 in (exp1[,exp2,[...]]) not in (...)
谓词 like
多重条件 and or not
2、连接查询
A、等值连接和不等值连接:通过‘=’来比较两个表之间的数据时,称为等值连接;而通过其他比较符时,称为不等值连接
等值连接:
Select * from publishers, authors where publishers.city=authors.city
不等值连接:
B、自然连接: 在连接的目标列中相同名的列只保留一个
Select publishers.pub_id publishers.pub_name, publishers.state, authors.*
From publishers, authors where publishers.city=authors.city
3、子查询
A、表达式子查询
Select au_lname, au_fname from authors where city=
(select city from publishers where pub_name="abcde")
可以使用一切大小比较操作符;在操作符和子查询之间可以使用All 或any。
B、限定谓词子查询
Select pub_name from publishers from publishers
Where pub_id in
(select pub_id from titles where type='abcde')
C、相关查询
相关查询即嵌套查询依赖于外部父查询的值,嵌套查询要重复执行若干次。
Select distinct t1.type from titles t1
Where t1.type in ( select t2.type from titles t2 where t1.pub_id!=t2.pub_id)
4、集函数、分组与排序
A、对查询结果进行聚集处理
聚集函数: Sum([all|distinct] expression),avg([all|distinct] exoression) ,
Count([all|distinct]expression), count(*), max(expression), min(expression)
Select count(*) from titles
B、用Group by 和 having 子句对查询结果分组
Select type ,avg(advance), sum(total_sales) from titles group by type
Select type from titles group by type having count(*) >1
Having 类似于where , 但where 不能用聚集函数。
C、用Order by 对查询结果进行排序
Select type ,avg(price) from titles group by type order by avg(price)
D、Compute 子句
完成基于每一组中的值的聚集运算,聚集值作为一个新行出现在查询结果中。
Select type ,price advance from titles order by type compute sum(price), sum(advance) by type
更多精彩
赞助商链接