整理了一些简单场景的select查询练习题,对初学者还是有些帮助的题量不小,由浅入深愿意学习的请仔细做完每一道题(简单的题也会有很大的收获的)
创建练习表及插入数据代码
CREATE or replace TABLE S
(SNO varchar2(255) NOT NULL,
SNAME varchar2(255) NOT NULL,
SSEX varchar2(255) NOT NULL,
SBIRTHDAY varchar2(255),
CLASS varchar2(255));
CREATE or replace TABLE C
(CNO varchar2(255) NOT NULL,
CNAME varchar2(255) NOT NULL,
TNO NUMBER NOT NULL);
CREATE or replace TABLE SC
(SNO varchar2(255) NOT NULL,
CNO varchar2(255) NOT NULL,
DEGREE number(7,2) NOT NULL);
CREATE or replace TABLE T
(TNO varchar2(255) NOT NULL,
TNAME varchar2(255) NOT NULL, TSEX varchar2(255) NOT NULL,
TBIRTHDAY varchar2(255) NOT NULL, PROF varchar2(255),
DEPART varchar2(255) NOT NULL);
INSERT INTO S (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (108 ,'曾华' ,'男' ,'1977-09-01',95033);
INSERT INTO S (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (105 ,'匡明' ,'男' ,'1975-10-02',95031);
INSERT INTO S (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (107 ,'王丽' ,'女' ,'1976-01-23',95033);
INSERT INTO S (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (101 ,'李军' ,'男' ,'1976-02-20',95033);
INSERT INTO S (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (109 ,'王芳' ,'女' ,'1975-02-10',95031);
INSERT INTO S (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (103 ,'陆君' ,'男' ,'1974-06-03',95031);
INSERT INTO c(CNO,CNAME,TNO)VALUES ('3-105' ,'计算机导论',825);
INSERT INTO c(CNO,CNAME,TNO)VALUES ('3-245' ,'操作系统' ,804);
INSERT INTO c(CNO,CNAME,TNO)VALUES ('6-166' ,'数据电路' ,856);
INSERT INTO c(CNO,CNAME,TNO)VALUES ('9-888' ,'高等数学' ,100);
INSERT INTO sc(SNO,CNO,DEGREE)VALUES (103,'3-245',86);
INSERT INTO sc(SNO,CNO,DEGREE)VALUES (105,'3-245',75);
INSERT INTO sc(SNO,CNO,DEGREE)VALUES (109,'3-245',68);
INSERT INTO sc(SNO,CNO,DEGREE)VALUES (103,'3-105',92);
INSERT INTO sc(SNO,CNO,DEGREE)VALUES (105,'3-105',88);
INSERT INTO sc(SNO,CNO,DEGREE)VALUES (109,'3-105',76);
INSERT INTO sc(SNO,CNO,DEGREE)VALUES (101,'3-105',64);
INSERT INTO sc(SNO,CNO,DEGREE)VALUES (107,'3-105',91);
INSERT INTO sc(SNO,CNO,DEGREE)VALUES (108,'3-105',78);
INSERT INTO sc(SNO,CNO,DEGREE)VALUES (101,'6-166',85);
INSERT INTO sc(SNO,CNO,DEGREE)VALUES (107,'6-106',79);
INSERT INTO sc(SNO,CNO,DEGREE)VALUES (108,'6-166',81);
INSERT INTO t(TNO,TNAME,TSEX,TBIRTHDAY,PROF,DEPART)
VALUES (804,'李诚','男','1958-12-02','副教授','计算机系');
INSERT INTO t(TNO,TNAME,TSEX,TBIRTHDAY,PROF,DEPART)
VALUES (856,'张旭','男','1969-03-12','讲师','电子工程系');
INSERT INTO t(TNO,TNAME,TSEX,TBIRTHDAY,PROF,DEPART)
VALUES (825,'王萍','女','1972-05-05','助教','计算机系');
INSERT INTO t(TNO,TNAME,TSEX,TBIRTHDAY,PROF,DEPART)
VALUES (831,'刘冰','女','1977-08-14','助教','电子工程系');
commit;
练习题目:
1、 查询Student表中的所有记录的Sname、Ssex和Class列。
2、 查询教师所有的单位即不重复的Depart列。
3、 查询Student表的所有记录。
4、 查询Score表中成绩在60到80之间的所有记录。
5、 查询Score表中成绩为85,86或88的记录。
6、 查询Student表中“95031”班或性别为“女”的同学记录。
7、 以Class降序查询Student表的所有记录。
8、 以Cno升序、Degree降序查询Score表的所有记录。
9、 查询“95031”班的学生人数。
10、查询Score表中的最高分的学生学号和课程号。
11、查询‘3-105’号课程的平均分。
12、查询Score表中至少有5名学生选修的并以3开头的课程的平均分数。
13、查询最低分大于70,最高分小于90的Sno列。
14、查询所有学生的Sname、Cno和Degree列。
15、查询所有学生的Sno、Cname和Degree列。
16、查询所有学生的Sname、Cname和Degree列。
17、查询“95033”班所选课程的平均分。
18、查询选修“3-105”课程的成绩高于“109”号同学成绩的所有同学的记录。
19、查询score中选学一门以上课程的同学中分数为非最高分成绩的记录。
20、查询成绩高于学号为“109”、课程号为“3-105”的成绩的所有记录。
21、查询和学号为101的同学同年出生的所有学生的Sno、Sname和Sbirthday列。
22、查询“张旭“教师任课的学生成绩。
23、查询选修某课程的同学人数多于5人的教师姓名。
24、查询95033班和95031班全体学生的记录。
25、查询存在有85分以上成绩的课程Cno.
26、查询出“计算机系“教师所教课程的成绩表。
27、查询“计算机系”与“电子工程系“不同职称的教师的Tname和Prof。
28、查询所有教师和同学的name、sex和birthday.
29、查询所有“女”教师和“女”同学的name、sex和birthday.
30、查询成绩比该课程平均成绩低的同学的成绩表。
31、查询所有任课教师的Tname和Depart.
32 查询所有未讲课的教师的Tname和Depart.
33、查询至少有2名男生的班号。
34、查询Student表中不姓“王”的同学记录。
35、查询Student表中每个学生的姓名和年龄。
36、查询Student表中最大和最小的Sbirthday日期值。
37、以班号和年龄从大到小的顺序查询Student表中的全部记录。
38、查询“男”教师及其所上的课程。
39、查询最高分同学的Sno、Cno和Degree列。
40、查询和“李军”同性别的所有同学的Sname.
41、查询和“李军”同性别并同班的同学Sname.
42、查询所有选修“计算机导论”课程的“男”同学的成绩表
答案请见下篇日志
分享到:
相关推荐
在SQL中,`SELECT`语句是用于查询数据库中数据的核心命令。本题涉及的练习主要涵盖以下几个知识点: 1. **创建表结构**:通过`CREATE TABLE`语句...通过上述练习题,你可以加深对SQL语言的理解,提升数据库查询能力。
经典SQL面试练习50多道题(含答案)是SQL开发人员面试的必备知识之一,本文档总结了多种SQL面试题,涵盖了多表查询、删除冗余数据、查询符合条件的记录等多方面的知识点。下面对这些知识点进行总结和分析: 一、多...
本资源"Oracle基础练习题及面试题"提供了丰富的实践材料,帮助学习者巩固理论知识,提升实战技能。 1. **Oracle基础概念** - 数据库:存储和管理数据的系统。 - 表(Table):数据结构,由列(Column)和行(Row...
`实际上表示匹配前面的子表达式出现零次或一次,而非一次或多次。 **考点**: 正则表达式中符号运用 ### PHP函数与变量作用域 **问题30**: ```php $test = 123; function changeNum() { $test = 456; } echo ...
【模块2练习题面试题库.zip】包含了针对IT行业,特别是云计算领域的多个模块的练习题和面试题,这些文档旨在帮助求职者或学习者提升在面试中的表现和专业技能。以下将对每个文件进行详细解读,揭示其中涵盖的知识点...
一、Java 面试题 1. **Java 的特点:** Java 以其跨平台性、安全性、高性能、面向对象等特性受到广泛欢迎。它的“一次编写,到处运行”理念使得代码能在多种操作系统上运行。 2. **Java 类和对象:** - **类**是...
本资料包"sql2000上机练习题大全(附带数据库)"提供了一个全面的学习平台,适合对SQL2000感兴趣的初学者以及需要提升SQL技能的开发者。 首先,我们要理解SQL(Structured Query Language),即结构化查询语言,是...
2. 这道题要求根据A、B、C三列的值进行选择。可以使用`CASE WHEN`语句来实现: ```sql SELECT (CASE WHEN A > B THEN A ELSE B END) AS '最大值', (CASE WHEN B > C THEN B ELSE C END) AS '次大值' FROM table_...
【SQL练习题及答案】 1. 创建BORROW表的SQL语句主要涉及到主键完整性约束和引用完整性约束。主键完整性约束确保了表中的主键字段的唯一性,而引用完整性约束则是指表中的外键字段必须引用另一个表中存在的主键。在...
SQL 练习题.pdf 这份文件包含六个 SQL 练习题,涵盖了多种数据库管理系统,包括 MySQL、MS-SQL Server 和 Oracle。下面是对每个问题的详细解释和解决方案: 问题 1 写出一条 SQL 语句:取出表 A 中第 31 到第 40 ...
JavaWeb全栈面试题涵盖了Java基础、Web开发、数据库、服务器、线程管理、内存分布、前端技术等多个关键领域,是全面评估一个开发者综合技能的重要参考。以下将针对这些知识点进行详细阐述: 1. **Java基础**:Java...
这些经典面试题涵盖了数据库的基础知识、设计原则、性能优化、安全措施以及分布式与非关系型数据库等内容。通过深入理解和实践这些知识点,不仅可以应对面试,更能提升你在实际工作中处理数据库问题的能力。
本压缩包包含了一系列针对初级用户设计的MySQL练习题,旨在帮助你熟悉基本的SQL语句,包括增(INSERT)、删(DELETE)、查(SELECT)和改(UPDATE),以及各种函数和使用场景。 1. **增(INSERT)**: INSERT语句...
这个"面试题汇总"文件应包含以上所有领域的大量题目,通过深入学习和练习,可以显著提高在C#、ASP.NET和SQL Server面试中的竞争力。记住,理论知识与实践经验相结合,才能在面试中展现出自己的专业素养。
以下是一些基于题目给出的VBA编程练习题的知识点: 1. `Do Until`循环结构:这个循环会在条件为假时执行循环体,因此,如果“条件”一开始就为0,即假,循环体不会执行。正确答案是A)如果“条件”值为0,则一次...
在本题目中,我们面临的是一个关于MySQL数据库的三表联合查询的问题,涉及到的学生表A、成绩表B和课程表C。以下是对每个查询操作的详细解析: 1. 查询出学习成绩及格以上的学生姓名与成绩: ```sql select A.SNAME,...
以下是练习题涉及的主要知识点及其详细说明: 1. **Socket 实现原理**: Socket 是网络通信的一种接口,它提供了一种在不同进程间交换数据的方法。在Linux或FreeBSD系统中,通过阅读源码可以理解其内部工作机制,...
本资源“经典sql语句”聚焦于SQL的经典面试题及其解答,旨在帮助求职者特别是针对SQL Server岗位的应聘者准备面试。以下将详细解析SQL的一些核心知识点,并结合可能的面试问题进行阐述。 1. **选择查询(SELECT)**...
MySQL练习题涵盖了一系列基础到进阶的查询技巧,旨在帮助初学者巩固基础,熟练掌握数据库操作。以下是对这些练习题的详细解析: 1. **取得每个部门最高薪水的人员名称**: 这个问题可以通过`GROUP BY`与`MAX`函数...
根据给定文件中的信息,我们可以将其中...这些练习题不仅有助于巩固SQL的基础知识,还能提升解决实际问题的能力。通过学习这些题目,可以更好地理解和掌握SQL语言的强大功能,为日后的数据库管理工作打下坚实的基础。