⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 200604040934365.html

📁 软件工程的红包书
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<P>Select type from titles group by type having count(*)>1</P>
<P>下面是一个不带集合函数的having子句的例子。它把title表中的行按类型分组,但去掉了那些不以字母“p”开头的类型。</P>
<P>Select type from titles group by type having type like “p%”</P>
<P>例10:查询结果排序——order by子句</P>
<P>Order by子句允许按一列或多列对查询结果排序。每个排序可以是升序的(asc)或降序的(desc)。若不特别指明,则按升序进行。下列查询返回按pub_id排序的结果:</P>
<P>Select pub_id,type,title_id from titles order by pub_id</P>
<P>例11:连接——从多张表中检索数据</P>
<P>连接两张或两张以上的表是这样一个过程:比较指定字段中的数据,根据比较结果用符合条件的行组成一张新表。</P>
<P>举例:</P>
<P>select publishers.pub_id,publishers.pub_name,authors.*</P>
<P>from publishers,authors</P>
<P>where publishers.city=authors.city</P>
<P>例12:分组计算子句</P>
<P>Compute是Sybase对SQL标准中Group子句的扩充,可以将其看作带聚集计算的Group子句。例如:</P>
<P>Select type,price,advance</P>
<P>From titles</P>
<P>Order by type</P>
<P>Compute sum(price),sum(advance) by type</P>
<P>2.Insert语句</P>
<P>用Insert命令向数据库中添加行有两种方法:使用关键词values或使用select语句。</P>
<P>Insert语句的基本语法为:</P>
<P>Insert[into]表名[(字段列表)]</P>
<P>{values(值列表)|select_statement}</P>
<P>举例:insert into publishers</P>
<P>values(‘1622’,’Jardin,Inc.’,’Camden’,’NJ’)</P>
<P>Insert into publishers(pub_id,pub_name)</P>
<P>values(‘1756’,’The Health Center’)</P>
<P>Insert authors select * from newauthors</P>
<P>Insert authors(au_id,address,au_lname,au_fname)</P>
<P>Select * from newauthors</P>
<P>3.Delect语句</P>
<P>Delect可以对一行或多行进行操作。</P>
<P>Delect语句的基本语法为:</P>
<P>Delect 表名</P>
<P>[from 表名列表]</P>
<P>[where条件表达式]</P>
<P>举例:Delect publishers</P>
<P>where pub_name=”Jardin,Inc.”</P>
<P>Delect titles</P>
<P>From authors, titles</P>
<P>Where titles.title_id=authors.title_id</P>
<P>4.Update语句</P>
<P>可以使用Update命令来改动表中的单个行、一组行或所有行。</P>
<P>Update语句的基本语法为:</P>
<P>Update表名</P>
<P>Set column_name1={expression1|null|(select_statement)}</P>
<P>[,column_name2={expression2|null|(select_statement)}]</P>
<P>[……]</P>
<P>[from 表名列表]</P>
<P>[where 条件表达式]</P>
<P>举例:</P>
<P>update authors set_au_lname=”Health”,aufname=”Goodbody”</P>
<P>where au_lname=”Bloth”</P>
<P>update titles</P>
<P>set total_sales=total_sales + qty</P>
<P>from titles,sales</P>
<P>where titles.title_id=sales.title_id</P>
<P>六、Sybase预定义函数</P>
<P>1.聚集函数</P>
<P>sum([all|distinct]表达式)</P>
<P>avg([all|distinct]表达式)</P>
<P>count([all|distinct]表达式)</P>
<P>count(*)</P>
<P>max(表达式)</P>
<P>min(表达式)</P>
<P>2.字符串函数</P>
<P>upper(字符表达式)</P>
<P>lower(字符表达式)</P>
<P>char(整型表达式)</P>
<P>char_length(字符表达式)</P>
<P>ltrim(字符表达式)</P>
<P>rtrim(字符表达式)</P>
<P>……</P>
<P>3.数学函数</P>
<P>abs(精确小数型表达式)</P>
<P>floor(精确小数型表达式)求小于或等于给定表达式值的最大整数(取底)</P>
<P>rand([整数型]</P>
<P>round(精确小数型表达式,整数)</P>
<P>sign(精确小数型表达式)</P>
<P>power(精确小数型表达式,整数幂)</P>
<P>……</P>
<P>4.日期函数</P>
<P>getdate()</P>
<P>datepart(日期部分,日期)</P>
<P>datediff(日期部分,日期1,日期2)</P>
<P>dateadd(日期部分,数值表达式,日期)</P>
<P>5.类型转换函数</P>
<P>convert(数据类型,表达式[,格式])</P>
<P>6.系统函数</P>
<P>db_name([数据库ID])</P>
<P>host_name()</P>
<P>isnull(表达式1,表达式2)</P>
<P>……</P>
<P>七、数据控制语言</P>
<P>用来控制数据的安全性,如权限控制语句GRANT和REVOKE等。</P>
<P>&nbsp;</P>
<P>第七讲 数据库编程基础</P>
<P>一、批处理</P>
<P>SQL Server可以处理作为一批而提交的多个SQL语句,既可以是交互式的,也可以是一个文件。批处理SQL语句由批结束标志终止,该标志指示SQL Server从前面开始执行该批处理语句,对于独立的SQL实用程序isql而言,其批结束标志为单独占一行的“go”。</P>
<P>举例:选择表title及表authors的行数</P>
<P>select count(*) from titles</P>
<P>select count(*) from authors</P>
<P>go<BR>二、流程控制语言</P>
<P>1.变量声明与赋值</P>
<P>全局变量由系统预定义,以符号@@打头。</P>
<P>局部变量声明使用Declare语句,这个变量必须以符号@开头,后跟一个标识符。</P>
<P>Declare @变量名 数据类型[,@变量名 数据类型,……]</P>
<P>变量赋值使用Select语句,未赋值的变量其值为Null。</P>
<P>举例:</P>
<P>Declare @msg char(50)</P>
<P>Select @msg=’How are you?’</P>
<P>Select @msg=emp_name from employee</P>
<P>Where emp_id=12345678</P>
<P>2.SQL语句块</P>
<P>Begin</P>
<P>Statement Block/*多个顺序执行的SQL 语句*/</P>
<P>End</P>
<P>3.条件语句</P>
<P>If 条件表达式</P>
<P>语句(块)</P>
<P>Else</P>
<P>语句(块)</P>
<P>举例:</P>
<P>if(select max(id) from sysobjects)50</P>
<P>4.循环语句</P>
<P>While 条件表达式</P>
<P>语句(块)</P>
<P>●两个特殊的循环控制语句:</P>
<P>Continue 执行下一次循环</P>
<P>Break 退出当前循环</P>
<P>举例:</P>
<P>While(select avg(price) from titles)>$20</P>
<P>Begin</P>
<P>Update titles set price=price/2</P>
<P>If(select avg(price) from titles)<$40</P>
<P>Break</P>
<P>Else</P>
<P>Continue</P>
<P>End</P>
<P>5.其它控制语句</P>
<P>◇Return语句——无条件结束当前过程,并可返回给调用者的一个状态值:Return[整数表达式]</P>
<P>◇Print语句</P>
<P>◇RaiseError语句</P>
<P>◇Waitfor语句</P>
<P>三、存储过程</P>
<P>存储过程是存储在服务器端的一类数据库对象,它实质上是一段用SQL语言编写的程序,它在服务器端预先经过编译,并确定出执行计划,因此与同样功能的批处理语句相比,它的执行速度较快。</P>
<P>基本语法:</P>
<P>Create Procedure[owner.]过程名</P>
<P>[@参数名 数据类型[=默认值][Output]]</P>
<P>[,@参数名 数据类型[=默认值][Output]]</P>
<P>[……]</P>
<P>AS</P>
<P>Begin</P>
<P>SQL语句(块)</P>
<P>End</P>
<P>存储过程是数据库对象,和表、索引是一个级别的;是SQL语句和控制流语言的集合,存储过程在首次运行时被编译,并驻留在过程高速缓存的内存中,所以存储过程的招待非常快。存储过程可以带参数,可以调用其他过程,返回状态值,返回参数值,并且可以在远程SQL Server执行。可以在远程SQL Server执行对<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200603011123415.html  \n\nThis file was not retrieved by Teleport Pro, because it was una

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -