Oracle 数据库中,列之间计算的问题!最好给个列之间混合运算的例子。

Oracle 数据库中,列之间计算的问题!最好给个列之间混合运算的例子。,第1张

随便弄了条数据

--建表

create table score (id int,yw int,sx int,yy int,avg_score int);

--插入数据

insert into score values (1,90,80,88,null);

commit;

--建立函数

create FUNCTION avgscore

(v_id in int)

return int

is

i_temp int;

begin

select round((yw+sx+yy)/3) into i_temp from score where id=v_id;

return i_temp;

end;

--执行查询,调用函数avgscore

select avgscore(id) from score;

--也可以

select avgscore(1) from dual;

那个1就是你想查的学号的id

你自己看看吧

设关系R和S的属性个数分别为r和s则(RxS) *** 作结果的属性个数为_____,元组个数为____。

属性: r+s 这个看来你是毫无疑问了

元组:RxS-->元组的每个分量是有序排列。你分析得有道理,不是rs, 我觉得应该用迪卡尔乘积RXS写法来表示(不管2个集合里面有多少元素,RXS就是代表RXS的笛卡尔积)。

如果非要追究到详细的行数,这题只能无解。

1 B 在二维表中行是记录,列是字段。在关系中行是元组,列是属性。

2A

3D

4A

5B

6C

7B

8C

9C 没有“通用”

10C

集合运算

         这是一种二目运算,一共有四种四种运算符:并,差,交,笛卡尔积;

语法:

         查询语句

                  [UNION | UNIONALL | INTERSECT | MINUS]

         查询语句

UNION(并集)

返回若干个查询结果,但是重复的不显示

Eg:SELECT FROM dept

                  UNION

         SELECTFROM dept WHERE deptno = 10;

注:查询 *** 作编写的过程中尽量使用UNION , UNION ALL代替 OR,提高查询速度;

例:

         查询工作是销售和clerk的;

         SELECT

FROM emp WHEREjob = ‘saleman’ or job = ‘clerk’;

另一种方式:

SELECT FROMemp WHERE job = ‘SALESMAN’

         UNION

SELECT FROMemp WHERE job = ‘CLERK’;

UNION ALL(并集)

返回若干个查询结果,但是重复的也显示

Eg:SELECT FROM dept

                  UNION ALL

         SELECTFROM dept WHERE deptno = 10;

MINUS(差集)

返回若干个结果中不同的部分;

Eg:SELECT FROM dept

                   MINUS

         SELCTFROM dept WHERE deptno = 10;

INTERSECT(交集)

显示查询结果中相同的部分;

Eg:SELECT FROM dept

                   INTERSECT

         SELCTFROM dept WHERE deptno = 10;

————————————————

数据字段被设置允许空,

默认值起作用

所,

插入数据时指定字段值,

其值肯定null

还有,

数据库字段运算,

null与任何值运算结都null,

点要切记

使用isnull函数指定其值null情况下取值:

update

tableName

set

num

=

isnull(num,

0)

+

接收数

where

id=XXX

也使用case

when来进行条件判断取值:

update

tableName

set

num

=

(

case

when

num

is

null

then

0

when

num

>

0

then

num

else

小于等于0情况下值

end

)

+

接收数

where

id=XXX

以上就是关于Oracle 数据库中,列之间计算的问题!最好给个列之间混合运算的例子。全部的内容,包括:Oracle 数据库中,列之间计算的问题!最好给个列之间混合运算的例子。、(学习中被鄙视)关于数据库 笛卡儿积的计算、Access数据库问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10189148.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存