c语言sscanf函数的用法是什么
397
2022-09-02
ORACLE与数据库原理作业 习题五(答案全)
习题五
一、选择题二. 填空题三、默认在银行贷款数据库中编写 SQL 语句, 完成下面的查询与操作。
一、选择题
SQL 语言是( C )语言。 A. 层次数据库 B. 网络数据库 C. 关系数据库 D. 非数据库如果在 where 子句中有两个条件要同时满足,应该用哪个逻辑符来连接( C )。 A. OR B. NOT C.AND D. NONE用以下哪个子句来限制分组统计结果信息的显示( D)。 A. FROM B. WEHRE C. SELECT D. HAVINGSQL 语言中,删除一个表的命令是( B )。 A. DELETE B. DROP C. CLEAR D. PURGE只有满足联接条件的记录才包含在查询结果中, 这种联接为( C )。 A. 左联接 B. 右联接 C. 内联接 D. 完全联接如果要输出姓王的学生名单,在 where 子句中最好用( C)操作符。 A. = B. IN C. LIKE D. BETWEEN如果希望进行分组统计的查询输出,可以使用( A. SELECT B. GROUP BY C. HAVING在标准 SQL 中,建立视图的命令是( C )。
B)子句。 D. ORDER BY
A. CREATE SCHEMA 命令 C. CREATE VIEW 命令 9. 关系数据库中,主键是( A )。 A. 为标识表中唯一的实体 C. 只允许以表中第一字段建立
B. CREATE TABLE 命令 D. CREATE INDEX 命令
B. 创建唯一的索引,允许空值 D. 允许有多个主键的
在 Transact-SQL 语法中,用来插入和更新数据的命令是( A )。
A. INSERT ,UPDATE B. UPDATE ,INSERT C. DELETE ,UPDATE D. CREATE ,INSERT INTO
二. 填空题
SQL 语言中,修改表结构的语句是_ALTER_TABLE________ 。如果要使用 SELECT 语句返回指定条数的记录, 则应使用_DISTINICT_____关键字来限定输出字段。进行分组查询时, 要对分组进行选择,可以用__HAVING_____子句对分组结果进行过滤。用 SELECT 进行模糊查询时, 可以使用__字符_____匹配符, 但要在条件值中使用 _______ 或____%___通配符查询;并且模糊查询只能针对字段类型是___部分已知____的查询SQL 语言中行注释的符号为_//_____;块注释的符号为/___/___。对数据进行统计时,求最大值的函数是MAX()_______。
三、默认在银行贷款数据库中编写 SQL 语句, 完成下面的查询与操作。
查询所有客户的客户代码、客户名称、经济性质和注册资金。 select Cno,Cname,Cnatutn,Ccapital From Customer;查询“N0101”银行的银行名称和电话。 Select Bname,Btel From Bank Where Bno=’N0101’;查询贷款金额在 500- 1000 万元的客户代码、银行代码、贷款日期和贷款金额。 select Cno,Bno,Ldate,Lamount from Loan where Lamount between 500 and 1000;查询在 2019 年 8 月 1 日后贷款, 且贷款期限是 10 年的客户代码。 select Cno from Loan Where Ldate>’2019-8-1’and Lterm=10;查询贷款期限为 5 年、 10 年或 15 年的贷款信息。 select * from Loan Where Lterm IN(5,10,15);查询经济性质为“私营”的所有客户的最高注册资金、最低注册资金和平均注册资金。 select MAX(Ccapital) 最高注册资金,MIN(Ccapital) 最低注册资金, AVG(Ccapital) 平均注册资金 from Customer WHERE Cnautre=’私营’;查询每种经济性质的客户的经济性质、最高注册资金、最低注册资金和平均注册资金。 select Ccapital,MAX(Ccapital) 最高注册资金,MIN(Ccapital) 最低注册资金, AVG(Ccapital) 平均注册资金 from Customer GROUD BY Cnautre统计每个客户的客户代码和贷款总次数,要求查询结果按贷款总次数升序排列。 SELECT Cno 客户代码,Count(Cno) 贷款总次数 FROM Loan CROUP BY Cno Oder By Count(Cno) ASC;查询贷款次数大于 3 次的客户的平均贷款金额和贷款次数。 SELECT AVG(Lamount),COUNT(Cno) FROM Loan GROUP BY Cno HAVING COUNT(Cno)>3;统计每种经济性质贷款的客户的总数及其平均贷款金额,列出平均贷款金额最高的前三 名的经济性质、客户总数和平均贷款金额。 SELECT TOP 3 Cnautre, AVG(Lamount),COUNT(Cno) FROM Loan GROUP BY Cnature ODER BY AVG(Lamount);查询贷款期限为 5 年、 10 年或 15 年的客户名称、银行名称、贷款日期、贷款金额和贷款 年限。 SELECT Cname,Bname,Ldate,Lterm FROM Loan WHERE Lterm IN(5,10,15);查询经济性质为“国营”的客户在“历下区”的银行的贷款情况,列出客户名称、银行 名称以及贷款期限。 SElECT Cname,Bname,Lterm FROM Customer C JOIN Loan T ON C.Cno=T.Cno JOIN Bank B ON B.Bno=L.Bno WHERE Cnautre=’国营’ AND Bloc=’历下区’;查询与“J0101”银行在同一区的其他银行的名称。 SELECT B2.Bname FROM Bank B1 JOIN Bank B2 On B1.Bloc=B2.Bloc WHERE B1.Bno=’J0101’AND B2.Bno!=’J0101’;查询哪些银行没有贷过款,列出银行代码和银行名称。分别用多表连接和子查询两种形 式实现。 SELECT B.Bno,Bname FROM Bank B LEFTJOIN Loan L ON B.Bno=L.Bno WHERE L.Ldate IS NULL;
SELECT Bno,Bname FROM Bank WHERE Bno NOT IN (SELECT BNo FROM Loan );
查询贷过款的所有客户的名称、贷款银行名称、贷款日期、贷款金额,要求将查询结果 放在一张新的永久表New_Loan 中, 新表中的列名分别为客户名称、银行名称、贷款日期、 贷款金额。 SELECT Cname客户名称,Bnam 银行名称,Ldate 贷款日期,Lamount 贷款金额 INTO New_Loan FROM Customer C JOIN Loan L ON C.Cno=L.Cno JOIN Bank B ON L.Bno=B.Bno查询经济性质为“国营”的客户在“历下区”的银行的贷款情况,列出客户代码、银行 代码以及贷款日期, 分别用多表连接和子查询两种形式实现。 SElECT Cno,Bno,Ldate FROM Customer C JOIN Loan T ON C.Cno=T.Cno JOIN Bank B ON B.Bno=L.Bno WHERE Cnautre=’国营’ AND Bloc=’历下区”;
SElECT Cno,Bno,Ldate FROM Loan WHERE Cno IN(SELECT Cno FROM Customer WHERE Cnautre=’国营’) AND Bloc IN(SELECT Bloc FROM Bank WHERE Bloc=’历下区’);
查询在“招行舜耕支行”贷过款的客户名称、,分别用多表连接和子查询两种形式实现。 SElECT Cname FROM Customer C JOIN Loan T ON C.Cno=T.Cno JOIN Bank B ON B.Bno=L.Bno WHERE Bname=’ 招行舜耕支行’; SELECT Cname FROM Customer WHERE Cno IN( SELECT Cno From Loan WHERE Bno IN(SELECT Bno FROM Bank WHERE Bname=’ 招行舜耕支行’));查询在“工行甸柳分理处”贷款金额最高的前三名(包含并列情况) 的客户代码、客户 名称和经济性质。分别用表连接和子查询两种形式实现。 SElECT TOP 3 C.Cno,Cname,Cnautre FROM Customer C JOIN Loan T ON C.Cno=T.Cno JOIN Bank B ON B.Bno=L.Bno WHERE Bname=’工行甸柳分理处’ CROUP BY Cno,Cname,Cnautre ODER BY SUM(Lamount) DESC ; SELECT Cno,Cname,Cnautre SELECT TOP 3 Cno,Cname,Cnautre FROM Customer WHERE Cno IN(SELECT Cno FROM Loan WHERE Bno IN(SELECT Bno FROM Bank WHERE Bname=’ 工行甸柳分理处’ ))查询在“招行舜耕支行”贷过款且贷款金额高于此银行的平均贷款金额的客户代码、贷 款日期和贷款金额。 SElECT Cno,Ldate,Lamount FROM Loan WHERE Bno IN(SELECT Bno FROM Bank WHERE Bname=’ 招行舜耕支行 ’) GROUP BY Cno,Ldate,Lamount HAVING Lamoun>AVG(Lamount);在银行表中插入如下数据: 银行代码为“J0103”, 银行名称为“建行高新支行”, 位于“历 下区”,电话为空。 INSERT INTO Bank(Bno,Bname,Bloc,Btel) VAlUES(‘J0103’,’建行高新支行’,’历下区’,NULL);删除从贷款日期到当前日期超过 10 年的贷款记录。 DELETE FROM Bank WHERE Ldate+getTime()>10;将经济性质为“国营”的客户在“农行山东省分行”的贷款的所有贷款金额增加 5 万元, 分别用多表连接和子查询两种形式实现。
17. UPDATE Loan SET Lamount=Lamount+50000 FROM Loan T JOIN Bank B ON T.Bno=B.Bno JOIN Customer C ON C.Cno=L.Cno WHERE (Bname=’农行山东省分行’)AND (Cnautre=’国营’); UPDATE Loan SET Lamount=Lamount+10 WHERE Cno IN( SELECT Cno FROM Customer WHERE Cnautre =’ 国营’) AND Bno IN( SELECT Bno FROM Bank WHERE Bname=’农行山东省分行’);
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~