当前位置: 知识学习 > oracle sql 语句 面试题

oracle sql 语句 面试题

  • 分类:知识学习
  • 更新时间:2025-04-09
  • 发布时间:2024-05-10 12:45:07
(1)统计有学生选修的课程门数select count(distinct c#) from SC2)求选修C4课程的女学生的平均年龄select avg(s.age) --最好都带上前缀,养成好习惯from s,c,sc where s.s
内容详情

(1)统计有学生选修的课程门数

select count(distinct c#) from SC

2)求选修C4课程的女学生的平均年龄

select avg(s.age) --最好都带上前缀,养成好习惯

from s,c,sc where s.s#=sc.s# and c.c#=sc.c#

and c.cname='C4' and s.sex='女'--字符类型带引号,必须注意大小写,你那么写好麻烦

3)求刘老师所授的课程的每门课程的平均成绩

select c.cname , avg(grade) from sc , c

where c.teacher =' liu' and sc.c# = c.c#

group by c.cname --select后是什么字段,这地方你也得最少有这个字段

(4)统计每门课程的学生选修人数(超过10人的课程才统计)。要求显示课程号和人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。

select t.*

from

(select sc.c#, count(s#) counnt_s from s,sc where s.s# = sc.s# group by sc.c# having count(s#) >10) t

order by counnt_s desc,c# asc --你排序不对,另外oracle不可根据别名排序,只可再做嵌套

5)检索学号比王军同学大,而年龄比他小的学生姓名

select a.s#

from

(select s# from s where s#>(select s# from s where sname='王军') a,

select s# from s where age>(select age from s where sname='王军') b

where a.s#=b.s#

6)求年龄大于女同学平均年龄的男学生的姓名和年龄

select sname,age from s

where age>

(select avg(age) from s where sex = 'nv') and sex = 'nan' --没问题

7)求年龄大于所有女同学年龄的男学生的姓名和年龄

select sname ,age from s

where age>(select max(age) from s where sex = 'nv') and sex = 'nan' --没问题

sql面试题

update tblDB set name=(select substr(name,1,instr(name,'{')-1) || date ||substr(name,instr(name,'}')+1) ) 这样有点复杂

也可以update tblDB set name=replace(name,'{date}',data)

高频sql面试问题

上面几楼的SQL 语句不行.. 因为 假如 他59 分 加 5分后不就 64分 ,然后再加 2分 .则 不符合条件了..这个是更新语句,查询语句上面几楼的可以..

应该这么写 .并且查询时,假如 100分 ,因为满足 100> 80 则跳转到

case WHEN 分数>80 THEN 分数+1

所以上面的逻辑要清楚...

create procedure pro_add

as

update 表名 set 分数=分数+1 where 分数 between 80 and 99

update 表名 set 分数=分数+2 where 分数 between 60 and 79

update 表名 set 分数=分数+5 where 分数 < 60>

go

执行

exec pro_add

就可以了

SQL(结构化查询语言)是一种设计用于检索和操作数据的数据库。它是美国国家标准协会(ANSI)的标准。此语言用于执行选择,更新,删除和插入等数据任务。

表是在具有列和行的模型中设计的数据**。在表中,指定了列数,称为字段,但未定义行数,称为记录。

数据库是有序形式的一组信息,用于访问,存储和检索数据。

DBMS是一个控制数据维护和使用的程序。它被认为是管理数据的文件管理器。有四种类型的DBMS:

最有用的DBMS是Relational DBMS。它为数据提供了一个关系运算符。

SQL命令分为以下类型:

它包含来自一个或多个表的行和列,可以定义为虚拟表。它消耗的内存较少。

句法:

Join用于从相关的行和列中检索数据。它在两个或多个表之间工作,并且它从两个表返回至少一个匹配。

连接类型是:

数据库查询是数据库表中的数据请求。查询可以是选择查询或任何其他类型的查询。

子查询是查询的一部分。外部查询已知主查询,内部查询识别子查询。始终首先执行子查询,并将结果传递给主查询。

Autoincrement是一个关键字,用于在表中插入新记录时生成数字。

它可用于设置表中数据类型的限制。在创建或更新表语句时,可以使用约束。一些限制是:

SQL中有不同类型的键:

规范化是一种设计技术,它以减少数据依赖性的方式排列表。它将表分成小模块并按关系链接。

非规范化是一种优化方法,我们将多余的数据增加到表中,并在规范化后应用。

存储过程是一组SQL语句,用作访问数据库的函数。为了减少网络流量并提高性能,我们使用存储过程。

句法:

索引用于加速查询的性能。它可以更快地从表中检索数据。可以在一组列上创建索引。

聚簇索引 - 它有助于轻松检索数据,并且只有一个聚簇索引与一个表一起分配。它会更改记录在数据库中的保存方式。

非聚集索引 - 与聚簇索引相比,非聚簇索引很慢。并且在非集群索引的情况下,该表可以具有多个索引。它为表创建一个对象,该表是搜索后指向表的一个点。

触发器 被 用来执行对表中的特定动作,诸如插入,更新或删除 。它是一种 存储过程 。动作和事件是触发器的主要组成部分。执行Action时,事件响应该操作而出现。

通常,这些属性称为ACID。它们有助于数据库事务。

A tomicity -在一个事务中连接两个或更多个单独的数据块,或者所有的块都致力于,或者一个都不。

C onsistency - 事务或者生成新的有效数据状态,或者如果发生任何失望,则在事务启动之前将所有数据返回到其状态。

I solation - 正在进行且尚未提交的事务必须继续与任何其他操作隔离。

D urability -在此操作中,系统保存提交的数据,每当事件发生故障和系统启动后,所有的数据是可用的正确的位置。

SQL语句分为几类:

它被定义为通过为查询提供条件来设置结果集的限制。他们从整个记录中过滤掉一些行。

一些SQL CLAUSES是WHERE和HAVING。

它是一个返回单个值的数学函数。

SQL中的聚合函数是:

为了操作字符串,我们使用String Function。其中一些是:

排序规则 是一 组规则,用于确定数据如何通过比较进行排序 。例如使用一组规则存储的字符数据,这些规则定义了正确字符的序列以及类型,重音和区分大小写。

在系统内存中执行SQL语句时,会创建一个临时工作区,称为Cursor。在select语句中,游标存储了信息。游标可以使用多行,但一次只能处理一行。这组行称为活动集。

游标有两种类型:

SQL服务器是Microsoft关系数据库管理系统(RDBMS)的一种类型或示例。它在IT氛围中提供广泛的事务处理和商业智能。

运算符是一个保留字,主要用于SQL语句的WHERE子句中以进行操作。

空值是没有值的字段。它与Zero不同。假设有一个表,并且在表中有一个字段,可以在不添加值的情况下将记录插入字段,然后该字段将以NULL值保存。

空白是我们提供的价值。

零只是一个数字。

数据仓库被称为来自多个信息源的中央数据中心。这些数据可用于在线处理和挖掘。

在表中,应该只有一个PRIMARY KEY,但在另一种情况下,UNIQUE KEY可以是任意数量的。

PRIMARY KEYS不允许NULL值,但UNIQUE KEY允许NULL值。

点击查看全部内容