VFP9.0中SQL语句基础


(三)、查询排序 当需要对查询结果排序时,应该在SELECT语句中使用ORDER BY子句。 ORDER BY 子句包括了一个或多个用于指定排序顺序的列名,排序方式 可以指定,DESC为降序,ASC为升序,缺省时为升序。ORDER BY子句必 须出现在其他子句之后。 例8 查询bm表中的数据,并按bmxh字段排序。 SELECT * FROM bm ORDER BY bmxh 说明:ORDER BY在默认情况下为升序,若要降序排列,命令应改为: SELECT * FROM bm ORDER BY bmxh DESC。 当然也可以增加查询条件:比如查询bmxh前4位为“1701”的数据并 按升序排列,则命令如下: SELECT * FROM bm WHERE bmxh='1701' ORDER BY bmxh 例9 多列指定排序。查询会考成绩库,按会考证号和课程号排序。 SELECT * FROM 085卧龙会考成绩 ORDER BY 会考证号,课程号
(二)、条件查询 当要在表中找出满足某些条件的行时,则需使用WHERE子句指定查询条件。 例3 查询wbk中所有网报日期为2008年8月20日的数据。 SELECT * FROM wbk WHERE wbrq='2008-08-20' 说明:由于这个表中的wbrq字段是字符型的,所以‘2008-08-20’用了引号。 如果wbrq字段是日期型的,则需改为wbrq={^2008-08-20} 例4 查询08年5月卧龙区会考成绩库中课程号为01、等在1-3之间的数据。 SELECT * FROM 085卧龙会考成绩 WHERE 课程号='01' AND 等级 between "1" AND "3" 说明:这里使用了SQL中一个特殊的运算符:between,使用方法是: 字段名称 between 值1 AND 值2
(四)、分组查询 1、GROUP BY子句可以将查询结果按列进行分组。 例10 在会考成绩库中,按会考证号分组查询。 SELECT 会考证号 FROM 085卧龙会考成绩 GROUP BY 会考证号 若要想查到每个考生各报考了几门课程,则需要使用一个聚合函数:COUNT() SELECT 会考证号,COUNT(会考证号) as 报考科数 FROM 085卧龙会考成绩 GROUP BY 会考证号
例5 查询08年5月卧龙区会考成绩库中课程号为01或者02的数据。 SELECT * FROM 085卧龙会考成绩 WHERE 课程号='01' OR 课程号='02' 说明:这里使用了另一个运算符:or,表示或者运算。 例6 查询wbk中xm字段包括“张”的所有数据。 SELECT * FROM wbk WHERE "张"$xm 说明:这里使用了VFP中的一个字符运算符:$,表示在后面的字符表达式 中寻找前面的字符表达式。 例7 查询08年5月卧龙区会考成绩库中会考证号从第5位到第8位为:0206 (即06级八中)的数据。 SELECT * FROM 085卧龙会考成绩 WHERE SUBSTR(会考证号,5,4)='0206' 说明:这里使用了VFP中的一个字符函数:SUBSTR(字符串,起始位置,长 度)。
例13:将会考成绩的纵向表转换为横向表。
SELECT 会考证号,MAX(IIF(课程号='01',等级,'')) as zh,MAX(IIF(课程号='02', 等级,'')) as yw,MAX(IIF(课程号='03',等级,'')) as sx,; MAX(IIF(课程号='04',等级,'')) as wy,MAX(IIF(课程号='05',等级,'')) as wl,MAX(IIF(课程号='06',等级,'')) as hx,; MAX(IIF(课程号='07',等级,'')) as sw,MAX(IIF(课程号='08',等级,'')) as ls,MAX(IIF(课程号='09',等级,'')) as dl; FROM 085卧龙会考成绩 GROUP BY 会考证号
SQL命令主要包括有: ※ 数据查询命令,例如:SELECT语句 ※ 数据定义命令,例如:CREATE、ALTER等语句。 ※ 数据操作命令,例如:INSERT、UPDATE、DELETE 语句。 结合我们在工作中的实际情况,今天我们重点学习一 下SELECT语句和UPDATE语句。
一、SELECT语句 SELECT语句的基本格式:
例15:将课程库中kcdm2字段的内容用课程代码字段的内容前面加上一个 ‘0’替换。 UPDATE kc SET kcdm2 = '0'+ALLTRIM(课程代码) 说明:此语句可用VFP中的REPLACE命令替代: REPLACE kcdm2 WITH '0'+ALLTRIM(课程代码) ALL 例16:将报考库的课程名称字段用课程库中的课程名称字段更新。 SELECT 0 USE j:\所有科目.dbf ALIAS bk SELECT 0 USE j:\kc.dbf UPDATE bk SET bk.总顺序号 = kc.课程名称 from kc WHERE bk.课程 = kc.课程代码
下面我们通过一些具体的例子来了解SELECT查询语句的用法。
(一)、无条件查询 最基本的 SELECT 语句仅有两个部分:要返回的列,和这些列源于的 表。也就是说查询均为不使用WHERE子句的无条件查询。 例1 查询一个表中所有数据。 SELECT * FROM wbk 说明:*号表示返回这个表所有的列。 例2 查询一个表中的某几列数据。 SELECT wbxh,xm,sfzh FROM wbk 说明:可以在列名称后加上AS来为列指定别名。我们想把上个语句中的 wbxh列显示为“网报序号”,xm列显示为“姓名”,sfzh列显示为“身份 证号”,可以将上面的语句修改为: SELECT wbxh as 网报序号,xm as 姓名,sfzh as 身份证号 FROM wbk
表1
函数名称 功能 MIN 求一列中 的最小值 MAX 求一列中的 最大值
常用的聚合函数
SUM 按列计算值 的总和 AVG 按列计算 平均值 COUNT 按列值计个 数 COUNT(*) 返回表中的所 用行数
下面用一个例子说明各个聚合函数的使用方法。
例11 在会考成绩库中,分别计算每一门课程报考了多少人,最高等级,最低 等级,平均等级值,等级总和。 SELECT 课程号,MAX(等级),MIN(等级),AVG(VAL(等级)),SUM(VAL(等级 )),COUNT(会考证号) FROM 085卧龙会考成绩 GROUP BY 课程号 说明:由于表中的等级字段为字符型,所以用了一个VFP的类型转换函数: VAL(),将字符型的值转换为数值型的值进行计算。 2、GROUP BY子句和HAVING子句联合使用,可在分组后按照一定的条件进行筛选。 例12 这个例子是我们在工作中经常遇到的问题,就是查询出wbk中身份证号重 复的数据。 SELECT MAX(wbxh),MAX(xm),sfzh,COUNT(sfzh) as cfs FROM wbk GROUP BY sfzh HAVING cfs>1
二、UPDATE语句 UPDATE语句的基本格式:
UPDATE Target SET Column_Name1 = eExpression1 [, Column_Name2 =eExpression2 ...] [FROM Table] WHERE FilterCondition1 [AND | OR FilterCondition2 ...] 参数说明如下: UPDATE子句用于指定要更新的表。 SET子句指定要进行更新的表中的列及其新值。 WHERE子句用来限定查询的范围和条件。如果省略 WHERE 子句,表 中的每一行都用相同的值更新。
参数说明如下: SELECT子句用于指定所选择的要查询的特定表中的列,它可以是星号(*)、 表达式、聚合函数、变量等。 FROM子句用于指定要查询的表,可以指定多个表,用逗号相互隔开。 WHERE子句句是分组查询子句。 HAVING子句用于指定分组子句的条件。 ORDER BY子句可以根据一个列或者多个列来排序查询结果。 ASC表示升序排列,DESC表示降序排列。 INTO子句用于指定查询结果所存储的方式。
SELECT [Alias.] Select_Item [[AS] Column_Name] FROM Table [[AS] Local_Alias] [WHERE FilterCondition ] [Group By GroupColumn [, GroupColumn ...]] [HAVING FilterCondition] [Order By Order_Item [ASC | DESC] [INTO dbf new_table |cursor temp_table |array array_name]
Visual FoxPro 中SQL命令
卧龙区招生办 尹炳超
SQL概述
SQL全称是“结构化查询语言(Structured Query Language) 。 SQL(Structured Query Language)是一种数据库查询 和程序设计语言,用于存取数据以及查询、更新和管 理关系数据库系统。 SQL语句可以嵌套,这使他具有极大的灵活性和强大的 功能,在多数情况下,在Visual FoxPro中需要一大段 程序实现的功能只需要一个SQL语句就可以达到目的。 Visual FoxPro 支持 SQL 命令。SQL 命令在 Visual FoxPro 9.0 中进一步被充分地予以增强 ,例如支持 多重子查询 ,支持 UPDATE 命令相互关联的更新等。 今天所讲的内容均在Visual FoxPro 9.0环境中运行。
合集下载

Visual FoxPro 应用基础的sql语言课件

Visual FoxPro 应用基础的sql语言课件
– [PROMPT]:同时弹出打印机设置窗口
• TO SCREEN:输出到系统屏幕
目的子句实例
SELECT 学号,姓名,性别,出生日期 FROM 学 籍表 INTO CURSOR temp1
• SELECT 学号,姓名,性别,出生日期 FROM 学籍表 INTO table temp2
• SELECT 学号,姓名,性别,出生日期 FROM 学籍表 INTO array temp3
• 格式3: ALTER TABLE <表名> DROP <字段名> – 功能:删除已有字段及其属性,添加或删除主索引、 候选索引、外部关键字、有效性规则,改变表中字 段名称
• 例如:在课程表中加入字段kcxz,类型:字符型,长度:8 – ALTER TABLE kc ADD kcxz C(8)
• 例如:删除课程表中的字段备注bz – ALTER TABLE kc DROP bz
举例
图2
SELECT [ALL | DISTINCT][<别名>.]<SELECT表达式> [AS <列标
题>] FROM [<数据库名!>]<表名> …
举例
图3
图4
图5
常用列函数
• AVG(字段或表达式): 计算列中数值的平均值。 • COUNT(字段或表达式): 计算列中选定项的个数。 • MIN(字段或表达式):计算列中数值的最小值。 • MAX(字段或表达式):字段或表达式最大值。 • SUM(字段或表达式): 计算列中数值的和。 • 例:SELECT SUM(语文),AVG(语文),max(语
SELECT-SQL命令的简化格式
• 格式 SELECT <SELECT表达式> FROM <表子句> [<目标子句>] [<条件子句>] [<分组子句>] [<排序子句>]

第三章 Visual FoxPro 9.0语言基础

第三章 Visual FoxPro 9.0语言基础
(8)每条命令的结束标志是回车键。
制作人:刘 鹏
5
3.2 数据类型
3.2.1字符型
字符型数据包括普通字符型和二进制 字符型两种。
(1)普通字符型
普通字符型简称字符型。它是由ASCⅡ 字符集组成的一个字符串,其长度不超 过254个字节。普通字符型数据若作为 常量使用时,必须用定界符括起来。定 界符分为半角双引号(“”)、半角单引号(‘’) 和半角方括号([])。定界符虽然不作为 常量本身的内容,但它规定了常量的类 型以及常量的起始和终止界限。
制作人:刘 鹏
图3-3 日期型
14
3.2 数据类型
当月或日小于10的时候,写成一位数字或两位都可以, 如上述?{^2010/05/09},也可以简略写成 ?{^2010/5/9}
显示格式可以用一些指令进行设置,如命令“set century on”,可以把年份的格式设成4位,命令执行的 结果将是:05/09/2010。 “set date ymd”命令可以 将显示形式设为yyyy/mm/dd 的显示形式,之后执行 命令“?{^2010/05/09}”,则执行结果将是: 2010/05/09 。同理如再用 “set date ydm”, 则 ?{^2010/05/09} 的执行结果将是:2010/09/05 。
制作人:刘 鹏
18
3.3 常量与变量
3.3.1 常量
常量包括备注型和通用型以外的所有数据类型,主 要有以下几种。
1.数值型常量
由数字、小数点和正负号组成,数据最大长度为20位, 其中小数点占1位,如-18.2、119等,正数可以省略+ 号。
制作人:刘 鹏
19
3.3 常量与变量
2.字符型常量

2、VF基本命令及SQL语句

2、VF基本命令及SQL语句

视图的定义
Create view <视图名> as <查询语句>
视图的删除 Drop view <视图名>
SQL的数据查询功能 嵌套查询
格式:Select 目标列1,目标列2,…… from 表名1 where 字段名; In(select 字段名 from 表名2 where 筛选条件……) 等价于格式: Select 目标列1,目标列2,…… from 表名1 where exists; (select * from 表名2 where 联接条件) SQL的数据查询功能 分组与计算查询 格式:Select <目标列>… from <表名或视图名>… ; [where <筛选条件>] [ order by <排序列> [ASC | DESC] ; [group by <分组列> [having <分组条件>] ]
3.设置当前索引: Set order to [<数值表达式>] 注:0关闭索引,1第一个索引 Set order to [<单索引文件名>] 选择表所在工作区: select <工作区号>|<别名> 功能:从工作区中选择一个作为当前工作区。 说明:Select 0为 选择编号最小且没有使用的工作区为当前工 作区。 (即空闲的最小号工作区)
数据库操作相关命令 表结构的操作相关命令 表记录的操作相关命令基 本 命ຫໍສະໝຸດ 令表记录指针移动的相关命令
索引文件操作相关命令
物理排序 关联的建立: (临时联系)
数据库操作相关命令
建立数据库:create database [Database Name|?] 打开数据库:open database [Filename|?] [exclusive | shared] 修改数据库:modify database [DatabaseName |?] 删除数据库:delete database DatabaseName |? [DeleteTables][Recycle] 关闭数据库:close database

VF中常用SQL命令使用方法

VF中常用SQL命令使用方法

VF中常用SQL命令使用方法SQL(结构化查询语言)是关系型数据库管理系统中最常用的查询语言。

在VF中,使用SQL命令可以对数据库进行增删改查等操作。

以下是VF中常用的SQL命令使用方法:1.创建表格(CREATETABLE):用于创建数据库中的表格。

语法如下:```sqlCREATE TABLE table_namecolumn1 data_type,column2 data_type,...```例如:```sqlCREATE TABLE customersid INT PRIMARY KEY,name VARCHAR(50),age INT,email VARCHAR(100)```2.插入数据(INSERTINTO):用于向表格中插入新的数据。

语法如下:```sqlINSERT INTO table_name (column1, column2, ...)VALUES (value1, value2, ...);```例如:```sqlINSERT INTO customers (id, name, age, email)```3.更新数据(UPDATE):用于更新表格中的数据。

语法如下:```sqlUPDATE table_nameSET column1 = value1, column2 = value2, ...WHERE condition;```例如:```sqlUPDATE customersSET age = 26WHERE id = 1;```4.删除数据(DELETEFROM):用于从表格中删除数据。

语法如下:```sqlDELETE FROM table_name WHERE condition;```例如:```sqlDELETE FROM customers WHERE id = 1;```5.查询数据(SELECT):用于从表格中查询数据。

语法如下:```sqlSELECT column1, column2, ...FROM table_nameWHERE condition;```例如:```sqlSELECT * FROM customers WHERE age > 25;```6.排序数据(ORDERBY):用于按照指定列对查询结果进行排序。

09VFP复习2-sql、查询与视图

09VFP复习2-sql、查询与视图

14
一、创建本地视图 先打开数据库
1.使用命令: 使用命令: 使用命令 Creat view <视图名 as <select 查询语句 视图名> 查询语句> 视图名
2.用视图设计器 用视图设计器 通过“项目管理器” 通过“项目管理器”打开视图设计器 通过“新建对话框” 通过“新建对话框”打开视图设计器
17
例二52.2 例二
1.创建数据库,添加表。 创建数据库,添加表。 创建数据库 2.打开视图设计器,添加表,选择字段。 打开视图设计器, 打开视图设计器 添加表,选择字段。 3.筛选条件 3.筛选条件: 筛选条件: 字段名 条件 实例 逻辑 chengji.数学 < 60 or 数学 chengji.英语 < 60 or 英语 chengji.信息技术 < 60 信息技术 4.排序依据:xuesheng.学号 降序 排序依据: 排序依据 学号 5.保存视图 保存视图view1。 保存视图 。 6.利用查询设计器对视图 利用查询设计器对视图view1创建查询,查询去向为 创建查询, 利用查询设计器对视图 创建查询 表table2。 。
SELECT … FROM … WHERE <字段名 ; 字段名>; 字段名 BETWEEN <初值 AND <终值 初值> 终值> 初值 终值 查询条件中字段的取值范围 SELECT … FROM … WHERE <C型字段名 ; 型字段名>; 型字段名 [NOT] LIKE <通配符表达式 通配符表达式> 通配符表达式 通配符” 表示0个或任意多个字符 个或任意多个字符; 通配符”%” 表示 个或任意多个字符; 通配符” 表示任意1个字符 个字符。 通配符”_ ” 表示任意 个字符。

VFsql基本语句普通连接

VFsql基本语句普通连接

用order关键字对查询结果排序
SELECT …; FROM …; ORDER BY <字段名1> [ASC|DESC] , <字段名2> [ASC|DESC] , … ]
(注:字段名可以用字段序号代替,两种情况)
SELECT * FROM 学生; ORDER BY 年4 龄
SELECT * FROM 学生; ORDER BY 年4龄 DESC
学生.dbf
课程.dbf
教师.dbf
选课.dbf
1.无条件联接查询
学号
学生
姓名 性别 入学成绩
001 李小华 女 525
002 王艳芳 女 510
003 吴海洋 男 508
select * from 学生,选课
学号 001 001 002 003 003
选课
课程号 C001 C004 C001 C001 C003
性别 男 女 男 女
年龄 23 22 22 21
姓名 Tom Alice Bob Bob
Select 性别,学号+姓名;
性别 男
From 学生
女 男

Exp_2 001Tom 002Alice 003Bob 004Bob
Where 后接条件表达式,用来指定查询结果包含哪些行。 例:Where 年龄>20 Where 学生.学号=选课.学号
一.简单查询(对单表的查询 )
Select … From …
From 后接表名,指定查询的信息来自于哪些表。
例:From 学生
From 学生,选课,课程
Select 字段名(*)、表达式,用来指定查询结果有那些列。
例:Select * Select 学号,姓名 Select 性别,学号+姓名

在FoxPro如何使用SQL


結果
name Wendy Tobe Eric Patty Kevin Bobby Aaron :
class 1B 1B 1C 1C 1C 1A 1A :
dob 07/09/86 10/17/86 05/05/87 08/13/87 11/21/87 02/16/86 08/02/86 :
II 比較
Class
1A 1A 1B 1A 1B :
逐一檢查
Class

1A
class="1A"

1A 1B

1A

1B
:
I 一般語法
Class

1A

1A

1B

1A

1B
:
選擇三欄
name Peter Mary Johnny Luke Bobby :
Class
1A 1A 1A 1A 1A :
結果
hcode R Y G G B :
結果
name Aaron Janet Paula
class 1A 1B 2A
hcode R R R
III 群組
SELECT ...... FROM ...... WHERE condition ; GROUP BY groupexpr [HAVING requirement]
群組函數: COUNT( ), SUM( ), AVG( ), MAX( ), MIN( )
例8
求出1A班的學生名字,其數學測驗分數 界乎於80至90分之間。
SELECT name, mtest FROM student ; WHERE class="1A" AND ; mtest BETWEEN 80 AND 90

VFP的SQL命令和语句大全

VFP的SQL命令和语句大全SQL——标准的结构化查询语言关系模型数据库管理系统(DBMS)一、数据定义1.CREATE TABLE——定义表结构该命令的一般格式为:CREATE TABLE |dbf <表文件名>(字段名1 字段类型[(字段宽度[,小数位数])][,字段名2 字段类型[(字段宽度[,小数位数])]]……)例:自由表CREATE TABLE xscj(xh c(8),xm c(6),xb c(2),cj n(5,1),ksrq d ,csrq d, bj n(10))例:数据库表CREATE TABLE xscj(xh c(8) primary key ,xm c(6),xb c(2),cj n(5,1),ksrq d,zp g )2.ALTER TABLE (修改表结构)命令格式示例(1)添加字段:ALTER TABLE xscj ADD COLUMN kcmc C(14)(2)重命名字段ALTER TABLE xscj RENAME COLUMN kcmc TO kc(3)删除字段ALTER TABLE xscj DROP COLUMN kc .3.DROP TABLE <表名> //删除表文件(.dbf)二、数据操作语句4.INSERT-SQL命令该命令的一般格式为:INSERT INTO <表名>[(字段名1[,字段名2 ])] VALUES (表达式1[,表达式2 …])例:INSERT INTO xscj(xh,xm,cj)VALUES ("81991001", "张良", 85.5)5.UPDATE-SQL 命令。

功能:对符合条件的记录修改字段的值命令格式:UPDATE <表名> SET 字段 1 = 表达式 1 [,字段 2 = 表达式 2 …] [ WHERE 条件表达式][ WHERE 条件表达式]缺省,默认当前一条记录例:UPDATE xscj SET cj = cj*1.05 WHERE cj>805.DELETE-SQL 命令。

VFP的SQL命令和语句大全

VFP的SQL命令和语句大全VFP的SQL命令和语句大全SQL——标准的结构化查询语言关系模型数据库管理系统(DBMS)一、数据定义1.CREATE TABLE——定义表结构该命令的一般格式为:CREATE TABLE |dbf <表文件名>(字段名1 字段类型[(字段宽度[,小数位数])][,字段名2 字段类型[(字段宽度[,小数位数])]]……)例:自由表CREATE TABLE xscj(xh c(8),xm c(6),xb c(2),cj n(5,1),ksrq d ,csrq d, bj n(10))例:数据库表CREATE TABLE xscj(xh c(8) primary key ,xm c(6),xb c(2),cj n(5,1),ksrq d,zp g )2.ALTER TABLE (修改表结构)命令格式示例(1)添加字段:ALTER TABLE xscj ADD COLUMN kcmc C(14)(2)重命名字段ALTER TABLE xscj RENAME COLUMN kcmc TO kc(3)删除字段ALTER TABLE xscj DROP COLUMN kc .3.DROP TABLE <表名> //删除表文件(.dbf)二、数据操作语句4.INSERT-SQL命令该命令的一般格式为:INSERT INTO <表名>[(字段名1[,字段名2 ])] VALUES (表达式1[,表达式2 …])例:INSERT INTO xscj(xh,xm,cj)VALUES ("81991001", "张良", 85.5)5.UPDATE-SQL 命令。

功能:对符合条件的记录修改字段的值命令格式:UPDATE <表名> SET 字段 1 = 表达式 1 [,字段 2 = 表达式2 …] [ WHERE 条件表达式][ WHERE 条件表达式]缺省,默认当前一条记录例:UPDATE xscj SET cj = cj*1.05 WHERE cj>805.DELETE-SQL 命令。

VF常用SQL语句大全

VF常用SQL语句大全(1)SQL是结构化查询语言,查询是SQL语言的重要组成部分,但不是全部,SQL还包括数据定义,数据操纵和数据控制功能等部分.如今SQL已成为关系数据库的标准数据语言,所以现在的关系数据库管理系统都支持SQL.FOXPRO从2.5 FOR DOS版式就开始支持SQL,现在VISUAL FOXPRO当然在之方面更加完善,以下是VF经常用到SQL语句.--语句功能--数据操作SELECT --从数据库表中检索数据行和列INSERT --向数据库表添加新数据行DELETE --从数据库表中删除数据行UPDATE --更新数据库表中的数据--数据定义CREATE TABLE --创建一个数据库表DROP TABLE --从数据库中删除表ALTER TABLE --修改数据库表结构CREATE VIEW --创建一个视图DROP VIEW --从数据库中删除视图CREATE INDEX --为数据库表创建一个索引DROP INDEX --从数据库中删除索引CREATE PROCEDURE --创建一个存储过程DROP PROCEDURE --从数据库中删除存储过程CREATE TRIGGER --创建一个触发器DROP TRIGGER --从数据库中删除触发器CREATE SCHEMA --向数据库添加一个新模式DROP SCHEMA --从数据库中删除一个模式CREATE DOMAIN --创建一个数据值域ALTER DOMAIN --改变域定义DROP DOMAIN --从数据库中删除一个域--数据控制GRANT --授予用户访问权限DENY --拒绝用户访问REVOKE --解除用户访问权限--事务控制COMMIT --结束当前事务ROLLBACK --中止当前事务SET TRANSACTION --定义当前事务数据访问特征--程序化SQLDECLARE --为查询设定游标EXPLAN --为查询描述数据访问计划OPEN --检索查询结果打开一个游标FETCH --检索一行查询结果CLOSE --关闭游标PREPARE --为动态执行准备SQL 语句EXECUTE --动态地执行SQL 语句DESCRIBE --描述准备好的查询---局部变量declare @id char(10)--set @id = 10010001select @id = 10010001---全局变量---必须以@@开头--IF ELSEdeclare @x int @y int @z intselect @x = 1 @y = 2 @z=3if @x > @yprint x > y --打印字符串x > yelse if @y > @zprint y > zelse print z > y--CASEuse panguupdate employeeset e_wage =casewhen job_level = ’1’ then e_wage*1.08when job_level = ’2’ then e_wage*1.07when job_level = ’3’ then e_wage*1.06else e_wage*1.05end--WHILE CONTINUE BREAKdeclare @x int @y int @c intselect @x = 1 @y=1while @x < 3beginprint @x --打印变量x 的值while @y < 3beginselect @c = 100*@x + @yprint @c --打印变量c 的值select @y = @y + 1endselect @x = @x + 1select @y = 1end--WAITFOR--例等待1 小时2 分零3 秒后才执行SELECT 语句waitfor delay ’01:02:03’select * from employee--例等到晚上11 点零8 分后才执行SELECT 语句waitfor time ’23:08:00’select * from employee***SELECT***select *(列名) from table_name(表名) where column_name operator valueex:(宿主)select * from stock_information where stockid = str(nid)stockname = str_namestockname like % find this %stockname like [a-zA-Z]% --------- ([]指定值的范围)stockname like [^F-M]% --------- (^排除指定范围)--------- 只能在使用like关键字的where子句中使用通配符)or stockpath = stock_pathor stocknumber < 1000and stockindex = 24not stock*** = manstocknumber between 20 and 100stocknumber in(10,20,30)order by stockid desc(asc) --------- 排序,desc-降序,asc-升序order by 1,2 --------- by列号stockname = (select stockname from stock_information where stockid = 4)--------- 子查询--------- 除非能确保内层select只返回一个行的值,--------- 否则应在外层where子句中用一个in限定符select distinct column_name form table_name --------- distinct指定检索独有的列值,不重复select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_nameselect stockname , "stocknumber" = count(*) from table_name group by stockname--------- group by 将表按行分组,指定列中有相同的值having count(*) = 2 --------- having选定指定的组select *from table1, table2where table1.id *= table2.id -------- 左外部连接,table1中有的而table2中没有得以null表示table1.id =* table2.id -------- 右外部连接select stockname from table1union [all] ----- union合并查询结果集,all-保留重复行select stockname from table2***insert***insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx")value (select Stockname , Stocknumber from Stock_table2)---value为select语句***update***update table_name set Stockname = "xxx" [where Stockid = 3]Stockname = defaultStockname = nullStocknumber = Stockname + 4***delete***delete from table_name where Stockid = 3truncate table_name ----------- 删除表中所有行,仍保持表的完整性drop table table_name --------------- 完全删除表***alter table*** --- 修改数据库表结构alter table database.owner.table_name add column_name char(2) null .....sp_help table_name ---- 显示表已有特征create table table_name (name char(20), age smallint, lname varchar(30))insert into table_name select ......... ----- 实现删除列的方法(创建新表)alter table table_name drop constraint Stockname_default ---- 删除Stockname的default约束***function(/*常用函数*/)***----统计函数----AVG --求平均值COUNT --统计数目MAX --求最大值MIN --求最小值SUM --求和--AVGuse panguselect avg(e_wage) as dept_avgWagefrom employeegroup by dept_id--MAX--求工资最高的员工姓名use panguselect e_namefrom employeewhere e_wage =(select max(e_wage)from employee)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档