2016年软考数据库系统工程师知识点详解:数据操作

数据库系统工程师 责任编辑:q459565833 2015-12-31

添加老师微信

备考咨询

加我微信

摘要:数据操作,SELECT,INSERT,DELETE,UPDATE (一)SELECT基本结构 SELECT [ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]... FROM<表名或视图名>[,<表名或视图名>] [WHERE<条件表达式>]

  >>>>>数据库系统工程师历年真题

>>>>>数据库系统工程师网络课程

>>>>>数据库系统工程师视频课程

 

    2016年软考数据库系统工程师知识点详解:数据操作

    数据操作,SELECT,INSERT,DELETE,UPDATE

    (一)SELECT基本结构

    SELECT [ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]...

    FROM<表名或视图名>[,<表名或视图名>]

    [WHERE<条件表达式>]

    [GROUPBY<列名 1>[HAVING<条件表达式>]]

    [ORDERBY<列名 2>[ASC|DESC]...]

    其中,子句顺序是:SELECT、FROM、WHERE、GROUP BY、HAVING和ORDER BY。HAVING只能和GROUP BY搭配使用。

    SELECT对应关系代数运算中的投影运算;FROM对应笛卡尔积;WHERE对应选择。

    SELECT查询中没有全程量词,也没有逻辑蕴涵,但可以通过谓词转换来实现。?

    (二)简单查询

    (三)连接查询

    检索至少选修了课程号为C1和C3的学生号:SELECTSnoFROMSCSCX,SCSCYWHERESCX.Sno=SCY.SnoANDSCX.Cno='C1'ANDSCY.Cno='C3';

    (四)子查询与聚集函数 

    子查询也叫嵌套查询。

    例:检索选修课程名为MS的学生号和学生姓名。

    SELECT Sno,Sname

    FROMStudents

    WHERESnoIN

    (SELECTSnoFROMSC

    WHERECnoIN

    (SELECTCnoFROMCWHERECname='MS'));

    聚集函数:AVG,MIN,MAX,SUN,COUNT

    使用谓词ANY和ALL必须同时使用比较运算符,其含义与等价的转换关系如下:

    >ANY--- >MIN

    >ALL --- >MAX

    =ANY --- IN

    <>ALL--- NOT IN

    几个例子:查询其他系比计算机系CS所有学生年龄都要小的学生姓名及年龄。

    SELECTSname,Sage

    FROMStudents

    WHERESage'CS';

    用

    SELECTSname,Sage

    FROMStudents

    WHERESage<

    (SELECTMIN(Sage)

    FROMStudents

    WHERESD='CS')

    ANDSD<>'CS';

    (五)分组查询

    GROUP BY 子句

    HAVING 子句,如果在元组被分组之前需要按某种方式加以限制,使不需要的分组为空,可以在GROUP BY子句后面加一个HAVING子句。

    注意:空值在任何聚集操作中都会被忽视,COUNT(*)是计算某个关系中所有元组数目之种,但COUNT(A)是计算A属性中非空的元组个数之和。

    例:针对供应商数据库中的S、P、J。SPJ关系,查询哪一个工程至少用了3家供应商(包含3家)供应的零件的平均数量,并按工程号降序排列。

    SELECT JNO,AVG(QTY)

    FROM SPJ

    GROUP BY JNO

    HAVING COUNT(DISTINCT(SNO))>2

    ORDER BY JNO DESC;

    (六)别名运算

    (七)字符串操作

 使用操作符LIKE的模式匹配。%匹配任意字符串,_可以匹配任意一个字符。

    在Like中可以使用转义字符,将特殊字符当作普通字符处理,如反斜杠“\"。

    (八)集合操作 

    保留字UNION,INTERSECT,EXCEPT分别对应并、交、差。保留字用于两个查询时,其两侧应用括号括起来。

    例:学生和教师的关系模式如下,查询既是女研究生又是教师且工资大于1500元的名字和地址。

    (SELECTName,Address

    FROMStudents

    WHERESEX='女'ANDType='研究生')

    INTERSECT

    (SELECTName,Address

    FROMTeachers

    WHERESalary>=1500)

    查询不是教师的学生:(SELECTName,AddressFROMStudents)

    EXCEPT

    (SELECTName,AddressFROMTeachers)

    (九)视图的查询和删除

    视图的查询:当查询视图表时,通常先将其转换成等价的对基本表的查询,然后执行查询语句。即系统先从数据字典中取出该视图的定义,然后与视图中的查询语句结合起来,形成一个修正的查询语句。

    视图更新要遵守的规则:

    从多个基本通过连接操作导出的视图不允许更新;

    对使用了分组、集函数操作的视图不允许更新;

    若视图是从单个基本表通过投影、选取操作导出的,则允许进行更新操作。

    WITH子句,将一个复杂的查询分解成一小视图??

    (十)插入、删除和修改语句

    插入: INSERT INTO 表名(字段名[,字段名]...)

    VALUES(常量[,常量]...);

    删除: DELETE FROM 表名

    WHERE 条件表达式;

    修改: UPDATE 表名

    SET 列名=值表达式

    [WHERE条件表达式]


    >>>>>点击返回2016年软考数据库系统工程师知识点汇总

 

相关推荐:

>>>>>数据库系统工程师培训视频教程

>>>>>数据库系统工程师考试考前串讲

>>>>>数据库系统工程师考试下午知识点精讲与考前必练


更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取

!
咨询在线老师!