计算机SQL第一节关系数据库标准语言

举报
资源描述
Vf讲义第二部分第一节关系数据库标准语言1、S Q L 概述(1)S Q L (s t r u c t u r e d qu e r y l a ngu a ge)是结构化查询语言的缩写,是关系数据库的标准语言。S Q L 的核心是查询,主要功能为:数据查询(S e l e c t)、数据定义(C r e a t e、D r op,Al t e r)数据操纵(Ins e r t ,U pd a t e ,D e l e t e)、数据控制(Gr a nt ,R e v ok e)(2)特点:A:是一种一体化的语言B:是一种高度非过程化的语言C:非常简洁D:既可在命令窗口中使用,也可在程序中使用2、数据查询(1)简单查询A:格 式:s e I e c t d i s t i ne t 字段名列表f r o m 表 名 w h e r e 条件s e I e c t姓名,性别,出 生 日 期f r om z gd as e Ie c t *f r om z gd as e I e c t d i s t i ne t 职称 f r om z gd as e Ie c t d i s t i nc t 性别,职称 f r om z gd as e I e c t *f r om z gd a w h e r e 性 别 女 s e I e c t *f r om z gd a w h e r e 职称=“教授s e I e c t *f r om z gd a w h e r e 工资7 0 0s e I e c t 姓名,性别,婚否 f r om z gd a w h e r e 婚否二.t.s e I e c t *f r om z gd a w h e r e 职称:“教 授 a nd 性别=男s e I e c t *f r om z gd a w h e r e 性别=“男 or 出生日期二1 97 5-0 1-0 1 B:注释:可 用 通 配 符 来 代 表 所 有 字 段 di st i nct表示唯一显示,各个字段值完全一致的相同记录只显示一条记录 wher e条件构成了条件查询,如果缺省默认为所有记录 查询窗口可以按ESC键关闭几种特殊的运算符A:i n 格式:字 段 名 not i n(表达式1,表达式2,)seI ect *f r om zgda wher e 职称 i n(教 授 助教)se I ect *f r om zgda wher e 职称 not i n(助教,讲师)B:bet ween 格式1(函数):not bet ween(字段名,表达式1,表达式2)se I ect *f r om zgda wher e bet ween(工资,500,700)A格式2(短语):字 段 名 not bet ween 表达式1 a n d表达式2字段的取值范围在 或 不在:二表达式1并且*表达式2se I ect *f r om zgda wher e not bet ween(奖金,100,200)C:I i k e 格式1(函数):I i k e(表达式,字段名)s e I e c t *f r om z gd a w h e r e I i k e (王*,姓名)格式2(短语):字 段 名 l i k e 表达式s e l e c t *f r om z gd a w h e r e 姓名 I i k e “小 排 序A格式:s e I e c t t op n pe r c e nt a l l /d i s t i ne t 字段表达式 a s 新字段名f r om 表 名 or d e r by排序字段列表 a s c /d e s c or d e r b y 短语的使用,a s c 表示升序,d e s c 表示降序,默认升序s e l e c t *f r om z gd a or d e rby工资s e l e c t *f r om z gd aor d e r by出生日期d e s cs e l e c t *f r om z gd aor d e r by奖金,工 资 d e s cs e l e c t *f r om z gd a w h e r e 性别二女or d e r b y 奖金 d e s ct op n pe r c e nt 表示在符合查询条件的所有记录中,选取指定数量或百分比的记录,T op短语必须与。r d e r b y 短语同时使用s e l e c t t op 3 *f r om z gd a or d e r b y 出生日期s e l e c t t op 2 *f r om z gd a w h e r e 婚否=.t.or d e r b y 工资 d e s c产生新字段的方法,字段表达式as新字段名s e l e c t 姓名,职称,工资+奖 金 as实发工资f r om z gd as e l e c t 姓名,性别,y e a r (d a t e()-y e a r (出生日期)a s 年龄 f r om z gd a w h e r e职称=助教or d e r b y 年 龄 d e s c(4)分组与计算查询A:计算查询 s u m (求和字段名)Aa v g(字段名)c ou nt (*)m a x (字段名)m i n(字段名)s e l e c t s u m(工资)a s 工资合计 f r om z gd as e I e c t s u m (工资)a s 工资合计,a v g(工资)a s 平均工资,m a x (工资)as最高工资,m i n(工资)as最低工资f r om Z gda w h e r e 性别二 男”s e I e c t c ou nt (*)a s 职工人数 f r om z gdas e I e c t c ou nt (*)a s 职工人数 f r om Z gda w h e r e 职称=教授”注释:以上函数均为列项求值;查询中只要有任一个(也可为多个)函数,如果没有gr ou p b y 分组,则查询结果只有表中最后一条记录,如果有gr ou p by分组,则查询结果留下每一类最后一条记录。如果使用了以上函数,则在查询结果中只有分组字段和统计字段有效,其他字段均无实际意义。B:分组查询:格式:s e l e c t 字 段 表 达 式 as新字段名 f r om 表 名 w h e r e 条 件 G r ou p b y分 类 字 段 h a v i n g 条件注释:G r ou p b y 按列的值对查询的行进行分组,查询结果留下每一类最后一条记录s e l e c t 职称,s u m(工资)a s 工资合计f r om Z gda gr ou p by 职称s e l e c t 性别,c ou nt (*)a s 职工人数 f r om z gda gr ou p b y 性别s e I e c t 职称,性别,s u m(工资)a s 工资合计,c ou nt (*)a s 人数 f r om Z gda gr ou pb y 职称,性 别 or de r by职 称 de s cw h e r e 短语是指在原表中进行条件筛选,也就是说,只有满足条件的记录才参与分组。S e l e c t 职称,c ou nt (*)a s 人数 f r om z gda w h e r e 性别=女 gr ou p b y 职称S e I e c t 性别,s u m(工资)a s 工资合计 f r om Z gda w h e r e 职称=讲师 gr ou p b y性别s e l e c t 职称,性别,s u m(工资+奖金)as工资总和,m a x (工资+奖金)as最高工资,a v g(工资+奖金)as平均工资f r om z gda gr ou p b y 职称,性别H a v i ng包含在查询结果中的组必须满足的条件,即对分组的结果进行筛选,去掉不满足条件的分组,必须与G r ou p by同时使用s e l e c t 职称,c ou nt (*)a s 职工人数 f r om Z gda gr ou p b y 职称s e I e c t 职称,c ou nt (*)a s 职工人数 f r om z gda gr ou p b y 职称 h a v i ng 职工人数=2如果有G r ou p b y 短语,而 无 or de r by短语时,查询的结果默认以分组字段的升序排列如果附i e r e 和 H a v i ng同时使用时,先执行W h e r e ,再执行H a v i ng补充:在查询的过程当中使用了统计函数,并且查询结果可能有多个值,此时使用 gr ou p by短语进行分组,在分组了以后,每组对应一条记录 集 合 的 并 运 算(u ni on)A:是将两个s e l e c t 语句的查询结果合并成一个查询结果,默认情况下,合并的结果删除重复的记录。用 a l l 表示显示所有记录(包含重复记录)B:合并条件:下列数相同,并且对应字段的数据类型和宽度相同对应字段的取值范围相同合并格式:第一条完整的s ql 语 句 u ni on第二条完整的s ql 语句例如:sele*from Zgda where 性别=女 union sele*from Zgda where 职称=教授”(6)利用空值查询注:查询空值时用:字 段 名 i s nu l ls e I e c t *f r om 订购单 w h e r e 订购日期 i s nu I I查询不为空值时用:字 段 名 i s not nu l ls e I e c t *f r om 订购单 w h e r e 订购日期 i s not nu l I保存查询结果格 式:s e I e c t a l I/di s t i ne t 字段表达式 a s 新 字 段 名 t op n pe r c e nt f r om 表名 G r ou p b y 分类字段 h a v i ng 条件 or de r b y 排序字段列表 a s c /de s c A:输出到临时表中:i nt o c u r s or 表名A 执行完s e l e c t 语句后,临时表仍然保持打开和活动状态,但为只读A 一旦关闭临时表,查询结果则自动被删除B:输出到永久表中:i nt o db f /t a b l e 表名执行完s e l e c t语句后,此表依然处于打开和活动状态这个表将永远保存在默认目录下C:输出到数组中:i n t o array数组名这里的数组为二维数组,每行一条记录,每列对应查询结果的一列,数组中有几行几列由查询结果中记录以及字段来确定数组中可以存放n个值,但他只属于一个内存变量数组的下标是从1开始的。D:输出到文本文件中:t o file文 件 名a ddi t i ve 扩展名为.t x t,无格式仅是纯文本有a ddi t i ve表示耨查询结果追加到此文件内容的后面3、数据定义(1)建立表(若建立数据库表,则必须事先建立或打开数据库)格式:cr e a t e t a bl e 表 名 f r e e(字段名1类型(宽度,小数位数)ch e ck条件e r r o r 字符串 de f a ul t 默认值 N UL L N O T N UL L p r i m a r y k e y un i q ue,f o r e i g n k e y 索引表达式 t a g 索引名 r e f e r e n ce s 父表名 t a g父表的索引名)注释:f r e e说明此表为自由表。cr e a t e t a bl e注册f r e e (姓名c(6),性别c(2),出生年月d)类型只能用代表字母。ch e ck 为字段指定有效性规则;e r r o r表
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关资源
正为您匹配相似的精品文档
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新


电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号