`
microjava
  • 浏览: 309836 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

数据库查询详细解答

 
阅读更多

--建立学生表
create table stud (
   stno char(3) primary key,
   name char(4),
   sex char(2),
   age int,
   classid char(5)
);

insert into stud values('108','曾华','男',19,'95033');
insert into stud values('105','匡明','男',20,'95031');
insert into stud values('107','王丽','女',20,'95033');
insert into stud values('101','李军','男',19,'95033');
insert into stud values('109','王芳','女',22,'95031');
insert into stud values('103','陆君','男',20,'95031');

--建立教师表
create table teacher(
   tcno char(3) primary key,
   name char(4),
   sex char(2),
   age int ,
   lev char(6),
   speciality char(8)
);

insert into teacher values('804','李成','男',42,'副教授','计算机系');
insert into teacher values('856','张旭','男',35,'讲师','电子工程');
insert into teacher values('825','王萍','女',28,'助教','计算机系');
insert into teacher values('831','刘冰','女',25,'助教','电子工程');

--建立课程表

create table course (
   cuid char(5) primary key,
   cuname char(10),
   tcno char(3),
   foreign key(tcno) references teacher(tcno)
);

insert into course values('3-105','计算机导论','825');
insert into course values('3-245','操作系统','804');
insert into course values('6-166','数字电路','856');
insert into course values('9-888','高等数学','831');

--建立选课表
create table sc(
   stno char(3),
   cuid char(5),
   primary key(stno,cuid),
   score int,
   foreign key(stno) references stud(stno),
   foreign key(cuid) references course(cuid)
);

insert into sc values('103','3-245',86);
insert into sc values('105','3-245',75);
insert into sc values('109','3-245',68);
insert into sc values('103','3-105',92);
insert into sc values('105','3-105',88);
insert into sc values('109','3-105',76);
insert into sc values('101','3-105',64);
insert into sc values('107','3-105',91);
insert into sc values('108','3-105',78);
insert into sc values('101','6-166',85);
insert into sc values('107','6-166',79);
insert into sc values('108','6-166',81);

--查询操作

--1.查询所有内容
select * from stud;
select * from teacher;
select * from course;
select * from sc;

--2.查询选修课程'3-105'且成绩在60到80之间的所有记录
select * from sc where cuid = '3-105' and score between 60 and 80;

--3.查询成绩为85、86或88的记录
select * from sc where score in(85,86,88);

--4.查询'95031'班的学生人数
select count(*) as 学生人数 from stud where classid='95031';

--5.查询最低分大于70,且最高分小于90的学号列
select stno from sc group by stno having min(score)>70 and max(score)<90;

--6.查询平均分大于80分的学生的成绩表
select stno 学号,avg(score) 平均成绩 from sc group by stno having avg(score)>80;

--7.查询'95033'班每个学生所选课程的平均分
select * from stud where classid='95033'

select stno 学号,avg(score) 平均分 from sc 
       where stno in (select stno from stud where classid='95033') 
       group by stno;
       
--8.以选修 '3-105'为例,查询成绩高于'109'号同学的所有同学的记录。
select * from stud where stno in (
select stno from sc 
       where cuid='3-105' and score > (select score from sc where cuid='3-105' and stno='109'));

--9.查询与学号为'108'的同学同岁的所有学生的学号、姓名和年龄。
select stno,name,age from stud where age=(select age from stud where stno='108');

--10.查询'张旭'教师任课的课程号,选修其课程学生的学号和成绩
select stno,score from sc 
       where cuid in (select cuid from course where tcno = (select tcno from teacher where name='张旭'));

--11.查询选修其课程的学生人数多于5人的教师姓名
select cuid from sc group by cuid having count(cuid)>5;

select name from teacher where tcno in (
       select tcno from course where cuid in (select cuid from sc group by cuid having count(cuid)>5)
       );

分享到:
评论

相关推荐

    数据库查询详细解答和例子

    详细列出数据库平时用到的SQL语句,供参考和纠正错误

    数据库查询试验报告 详细解答

    数据库的查询 查询的详细T—SQL语句

    oracle数据库语法

    数据库的详细解答,包括一些查询语法和函数、以及一些常用的数据库操作方法

    java程序是怎么操作数据库的,可以以常用据库为例,求详细解答,最好能举例。

    JDBC Driver Mannager-&gt;局部JDBC驱动-&gt;客户端数据库-&gt;数据库服务器-&gt;返回查询结果,这种访问事实上是转换JDBC调用为相应的数据库(Oracle, Sybase, Informix, DB2, 和其他的数据库数据库管理系统)的客户端API调用...

    数据库系统原理课后答案

    数据库系统原理课后答案,详细解答的答案可供仔细参考。

    数据库系统教程习题解答及上机指导(完)

    数据库系统课后习题答案书的扫描图,有每一章的基本概念、重点篇幅及课后习题的详细解答,还有一些自测题

    数据库管理和MySQL面试准备题库

    它包括了一系列中等难度的MySQL面试题,涵盖了数据库查询、数据处理、性能优化和数据分析等关键主题。每个问题都伴随着详细的解答和解题思路,以帮助您深入理解如何高效地应对各种数据库和SQL挑战。 无论您是初学者...

    数据库精选习题及答案

    有关数据库的精选习题和完整详细解答.包括一些绝对值得看的一些习题。和经典的数据库习题。 还有一些用SQL语言编写的查询语句等。

    JSP数据库开发实例精粹 源码

    然后以多个实用的系统为例,详细地讲述了用JSP创建Web应用程序的详细过程。内容包括在线书店、企业内部管理信息系统、新闻发布系统、医院门诊查询系统、招标信息管理系统、固定资产管理系统。 全书逐层深入,由一个...

    基于Java web的学生选课系统(源码+数据库+文档).zip

    各模块的详细功能如下: (1) 用户管理模块:管理员,学生,教师注册登陆功能。 (2) 教务管理模块包括四个子模块:学生信息管理、教师信息管理、课程信息管理、班级信息管理。教务管理模块功能:对学生信息进行增、删...

    课程设计-基于Java web的在线报名系统(源码+数据库+报告).zip

    考生可添加详细个人信息,可查看、修改个人信息。 在系统里,考生可以通过身份证号和准考证号查询自己的成绩,可以进行在线问答。 为了方便系统管理员对考生个人信息的管理,在系统里系统管理员可以对考生进行...

    数据库SQL房产中介管理系统需求分析全.doc

    房产中介管理系统 第一部分 调查用户需求 1.1 调查系统背景 房产中介数据库管理系统是一个房屋中介机构不可缺少的部分,能够为操作人员和用 户提供充足的信息和快速查询手段。而随着科技的发展,运用新型技术针对...

    2017最新老男孩MySQL高级专业DBA实战课程全套【清晰不加密】,看完教程月入40万没毛病

    06-MySQL数据库增量恢复详细实战 07-更多MySQL数据库增量恢复大讨论及大总结 08-MySQL增量恢复小结及核心恢复思想 09-课后自学能力作业-务必完成并分享讲解 10-内部学员技术大会分享课表说明 第九部-老男孩MySQL...

    Access2003中文版应用基础教程part1

    1-1-4 什么是SQL数据库查询语言 1-1-5 主从式数据库 1-1-6 数据库系统的应用 1-2 认识Access 2003 1-2-1 打开Access 1-2-2 Access窗口说明 1-2-3 打开与关闭工具栏 1-2-4 关闭Access 1-3 建立数据库文件 1-...

    基于ssm+Vue的考研指导平台(源码+部署说明+系统介绍+数据库).zip

    部署说明详细指导了如何将项目部署到服务器上运行。 系统介绍: 该考研指导平台旨在为考生提供便捷的考研信息查询和管理功能。用户可以通过系统了解考研政策、报考流程、考试科目等信息,方便用户选择适合自己的...

    asp.net专家疑难解答200问源码

    167.如何解决ADO.NET访问ACCESS数据库出现“操作必须使用一个可更新的查询”的问题 168.如何从EXCEL文件中读取数据 169.如何备份和恢复数据库 第9章 ASP.NET安全策略 第10章 常用功能及函数集 180.如何在ASP...

    基于ssm+Vue的口腔护理网站(源码+部署说明+系统介绍+数据库).zip

    部署说明详细指导了如何将项目部署到服务器上运行。 系统介绍: 该口腔护理网站旨在为用户提供便捷的口腔护理信息查询和管理功能。用户可以通过系统了解口腔护理知识、产品推荐、在线咨询等信息,方便用户选择适合...

    mysql-connector-odbc各个版本的msi安装包合集

    数据库开发人员:需要连接MySQL数据库进行开发工作的开发者,包括数据查询、数据插入、数据更新等操作。 系统集成人员:负责将MySQL数据库与其他系统进行集成,需要利用ODBC驱动实现数据交互的人员。 数据库管理员:...

    SQL SERVER 2000开发与管理应用实例

    15.3 数据库日志疑难解答 470 15.3.1 影响日志文件增长的因素 471 15.3.2 从事务日志中删除日志记录 472 15.3.3 日志文件处理中的误区 472 15.3.4 合理解决日志文件增长 473 15.4 错误处理疑难解答...

    会议信息管理系统详细设计

    设置一个SSTab控件,供不同用户登录时选择用户权限,超级用户拥有一切权限(包括添加删除和修改以及对用户的管理),普通用户拥有受限制的权限(查询及修改密码),提高了数据库的安全性。 1.2系统管理模块 1.2.1...

Global site tag (gtag.js) - Google Analytics