`
jacobcookie
  • 浏览: 94828 次
社区版块
存档分类
最新评论

ORACLE 习题之一

阅读更多

习题一:

表结构:
1、 表名:g_cardapply
字段(字段名/类型/长度):
applyno varchar2(8);//申请单号(关键字)
applydate date; //申请日期
state varchar2(2);//申请状态

 

2、 表名:g_cardapplydetail
字段(字段名/类型/长度):
applyno varchar8;//申请单号(关键字)
name varchar30;//申请人姓名
idcard varchar18;//申请人身份证号
state varchar2;//申请状态

其中,两个表的关联字段为申请单号。

题目:
1、查询身份证号码为440401430103082的申请日期
2、查询同一个身份证号码有两条以上记录的身份证号码及记录个数
3、将身份证号码为440401430103082的记录在两个表中的申请状态均改为07
4、删除cardapplydetail表中所有姓李的记录

 

建表语句:

SQL>create table g_cardapply(
applyno varchar2(8) primary key,
applydate date not null,
state varchar2(2)
);
SQL> create table g_cardapplydetail(
2 applyno varchar2(8) primary key,
3 name varchar2(30) not null,
4 idcard varchar2(18) not null,
5 state varchar2(2) not null,
6 constraint FK_CARDAPPLY_DETAIL FOREIGN KEY (applyno) references g_cardapply(applyno)
7 );

解题思路:

1.给的是表g_cardapplydetail中的idcard,要的是表g_cardapply中的apllydate,这是跨表操作,必须关联。

有两种方法:

a:

select a.applydate
from g_cardapply a
inner join g_cardapplydetail b
on a.applyno=b.applyno
where b.idcard='440401430103082';

b:

用子查询(效率比较低)

select applydate
from g_cardapply
where applyno in
(
select applyno
from g_cardapplydetail
where idcard='440401430103082'
);
2.给的是idcard要的是idcard及记录,只在一张表中操作即可。这有统计的操作,必然涉及到分组。分组时,只有被分组的字段和被聚合函数修饰的字段才能出现在select后面。因为是虚表,所以不能用where,必须用having。

select idcard,count(*)
from g_cardapplydetail
group by idcard
having count(*)>=2;

3.这是跨表修改,因为关联只能用来查询,所以只能用子查询来修改(删除也是修改,子查询是个万金油,但查询效率低)。

没有一条语句能够修改两张表,所以要分两条语句完成。

update g_cardapplydetail set state='07' where idcard='440401430103082';

update g_cardapply
set state='07'
where applyno in (
select applyno
from g_cardapplydetail
where idcard='440401430103082'
);

4.这道题考的是模糊查询,%可以表示多个字符,_(下划线)代表一个字符。

delete from g_cardapplydetail
where name like '李%'

分享到:
评论

相关推荐

    oracle练习题 总结了一下几个经典的

    Oracle数据库是世界上最广泛使用的数据库系统之一,它支持高级的数据管理和处理功能。在这些经典练习题中,我们可以看到一些核心的PL/SQL和SQL查询技术的运用。以下是对这些练习题的详细解析: 1. 查询工资高于7900...

    Oracle 练习题及答案

    根据提供的信息,我们可以总结出以下Oracle数据库练习题及其解析,主要涵盖了SQL查询、子查询、聚合函数等知识点。 ### 1. 查询所有员工的姓名和部门编号 ```sql SELECT ename, deptno FROM emp; ``` 这个查询非常...

    oracle练习题关于触发器的作业

    Oracle数据库是世界上最流行的数据库管理系统之一,尤其在企业级应用中占据主导地位。它拥有丰富的功能,其中触发器(Triggers)是实现复杂业务逻辑的重要工具。本篇文章将深入探讨Oracle中的触发器及其在实际问题...

    Oracle基础查询关联查询练习题.docx

    Oracle 基础查询关联查询练习题中第一个练习题是查询职员表中,在 20 和 30 号部门工作的员工姓名和部门号。该查询使用了 IN 运算符来检索部门号在 20 和 30 之间的员工信息。 知识点:IN 运算符的使用、基础查询...

    oracle数据库基础练习题

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,它提供了丰富的功能和强大的性能,用于存储、管理和检索数据。本资料包含“Oracle数据库基础练习题”,旨在帮助初学者和进阶者巩固对Oracle基础知识的...

    oracle练习题和答案.doc

    Oracle数据库是世界上最广泛使用的数据库管理系统之一,它提供了丰富的功能和工具来管理和操作数据。以下是从给定的练习题中提取的一些关键知识点: 1. **子查询与条件过滤**:在第一题中,我们看到了如何使用`...

    Oracle 入门及提高练习题

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,尤其在企业级应用中占据主导地位。对于初学者,掌握Oracle的基本概念、SQL语法以及数据库管理是至关重要的。本资源"Oracle 入门及提高练习题"旨在帮助...

    经典oracle练习题

    Oracle数据库系统是全球广泛使用的数据库管理系统之一,对于数据库管理员(DBA)、开发人员以及面试者来说,深入理解Oracle的操作和管理至关重要。本资料集中的“经典Oracle练习题”旨在帮助你巩固Oracle的基础知识...

    经典资料2----Oracle练习题!

    Oracle数据库是全球最广泛使用的商业关系型数据库管理系统之一,它以其强大的功能、高效的数据处理能力和高可用性而闻名。这份“经典资料2----Oracle练习题!”显然是为了帮助学习者提升在Oracle数据库领域的技能和...

    Oracle培训练习题和相关环境

    Oracle是世界上最广泛使用的数据库管理系统之一,尤其在企业级应用中占据主导地位。Oracle数据库系统以其高效、稳定和安全的特点著称。"Oracle培训练习题和相关环境"这个资源显然是为那些希望深入学习Oracle技术,...

    oracle练习题-好好联系

    Oracle是世界上最流行的数据库管理系统之一,它提供了强大的数据管理和处理能力。以下是一些基于Oracle的练习题及其解析,旨在帮助你更好地理解和掌握Oracle SQL。 1. Oracle not available错误通常是因为网络问题...

    21天学通ORACLE练习题答案

    Oracle数据库是世界上最流行的关系型数据库管理系统之一,广泛应用于企业级数据存储和管理。"21天学通ORACLE练习题答案"这个主题旨在帮助学习者通过一系列练习题深入理解Oracle的相关概念和技术。以下是对相关知识点...

    Oracle基础练习题及答案(多表查询1)

    Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的SQL语法用于数据查询和操作。在这个Oracle基础练习题中,主要涉及的是多表查询,这是数据库操作中的重要技能,它可以帮助我们从多个相关的表中获取...

    oracle分节练习题

    Oracle数据库是全球广泛使用的数据库管理系统之一,其在企业级数据管理中扮演着核心角色。"Oracle分节练习题"着重于考察对Oracle数据库系统中SQL(结构化查询语言)和PL/SQL(Oracle的编程扩展)的理解和应用能力。...

    oracle课件和习题

    Oracle是世界上最流行的数据库管理系统之一,尤其在企业级应用中占据主导地位。本资料"oracle课件和习题"提供了一个全面的学习平台,帮助你深入理解Oracle数据库系统的核心概念和技术。 Oracle数据库系统是关系型...

    Oracle练习题及答案(一).doc

    Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的SQL语法用于数据查询、操作和管理。以下是一些基于给定Oracle练习题的知识点: 1. **子查询**:在第一题中,我们看到一个简单的子查询来选取部门30...

    oracle练习题

    Oracle数据库是世界上最流行的数据库管理系统之一,广泛应用于企业级的数据存储和管理。本资源"oracle练习题"显然聚焦于帮助用户提升在Oracle数据库操作和管理方面的技能。以下将深入讲解一些Oracle数据库的重要知识...

    Oracle练习题及答案(二).doc

    【Oracle练习题及答案(二)】 在Oracle数据库管理中,熟悉SQL查询是至关重要的,以下是一些关于SQL查询的示例题目及其解答,涵盖了多种常见的查询技巧。 1. 列出至少有一个雇员的所有部门 这个查询使用了子查询来...

    ORACLE练习题ORACLE练习题

    Oracle是世界上最流行的数据库管理系统之一,尤其在企业级应用中占据着重要的地位。Oracle数据库系统以其高效、稳定和功能强大而闻名。本练习题集旨在帮助用户深入理解和掌握Oracle数据库的相关知识,包括SQL语言、...

Global site tag (gtag.js) - Google Analytics