数据表之多表关联

一、表关系

请创建如下表,并创建相关约束

二、操作表

1、自行创建测试数据

2、查询“生物”课程比“物理”课程成绩高的所有学生的学号;

3、查询平均成绩大于60分的同学的学号和平均成绩;

4、查询所有同学的学号、姓名、选课数、总成绩;

5、查询姓“李”的老师的个数;

6、查询没学过“叶平”老师课的同学的学号、姓名;

7、查询学过“001”并且也学过编号“002”课程的同学的学号、姓名;

8、查询学过“叶平”老师所教的所有课的同学的学号、姓名;

9、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名;

10、查询有课程成绩小于60分的同学的学号、姓名;

11、查询没有学全所有课的同学的学号、姓名;

12、查询至少有一门课与学号为“001”的同学所学相同的同学的学号和姓名;

13、查询至少学过学号为“001”同学所选课程中任意一门课的其他同学学号和姓名;

14、查询和“002”号的同学学习的课程完全相同的其他同学学号和姓名;

15、删除学习“叶平”老师课的SC表记录;

16、向SC表中插入一些记录,这些记录要求符合以下条件:①没有上过编号“002”课程的同学学号;②插入“002”号课程的平均成绩;

17、按平均成绩从低到高显示所有学生的“语文”、“数学”、“英语”三门的课程成绩,按如下形式显示: 学生ID,语文,数学,英语,有效课程数,有效平均分;

18、查询各科成绩最高和最低的分:以如下形式显示:课程ID,最高分,最低分;

19、按各科平均成绩从低到高和及格率的百分数从高到低顺序;

20、课程平均分从高到低显示(现实任课老师);

21、查询各科成绩前三名的记录:(不考虑成绩并列情况)

22、查询每门课程被选修的学生数;

23、查询出只选修了一门课程的全部学生的学号和姓名;

24、查询男生、女生的人数;

25、查询姓“张”的学生名单;

26、查询同名同姓学生名单,并统计同名人数;

27、查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列;

28、查询平均成绩大于85的所有学生的学号、姓名和平均成绩;

29、查询课程名称为“数学”,且分数低于60的学生姓名和分数;

30、查询课程编号为003且课程成绩在80分以上的学生的学号和姓名;

31、求选了课程的学生人数

32、查询选修“杨艳”老师所授课程的学生中,成绩最高的学生姓名及其成绩;

33、查询各个课程及相应的选修人数;

34、查询不同课程但成绩相同的学生的学号、课程号、学生成绩;

35、查询每门课程成绩最好的前两名;

36、检索至少选修两门课程的学生学号;

37、查询全部学生都选修的课程的课程号和课程名;

38、查询没学过“叶平”老师讲授的任一门课程的学生姓名;

39、查询两门以上不及格课程的同学的学号及其平均成绩;

40、检索“004”课程分数小于60,按分数降序排列的同学学号;

41、删除“002”同学的“001”课程的成绩;

时间: 2024-08-03 00:13:13

数据表之多表关联的相关文章

SQL数据表两个字段关联同一张数据表

数据表temp结构 -- Table "temp" DDL CREATE TABLE `temp` ( `page_id` bigint(20) DEFAULT NULL, `section_id` bigint(20) DEFAULT NULL, `visit_category_id` bigint(20) DEFAULT NULL, `cart_category_id` bigint(20) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=

《BI那点儿事—数据的艺术》理解维度数据仓库——事实表、维度表、聚合表

事实表 在多维数据仓库中,保存度量值的详细值或事实的表称为“事实表”.一个按照州.产品和月份划分的销售量和销售额存储的事实表有5个列,概念上与下面的示例类似. Sate Product Mouth Units Dollars WA Mountain-100 January 3 7.95 WA Cable Lock January 4 7.32 OR Mountain-100 January 3 7.95 OR Cable Lock January 4 7.32 WA Mountain-100 F

mysql从一个表提取数据更新另外一个表(修复表数据的不一致)

目前碰到一个数据不一致的情况,有两张表,一张项目表,一张项目成员表,项目表有个字段是项目工作时间,是项目成员的工作时间汇总.是由于该了逻辑,所以要把数据改成一致. 项目表的大致结构如下. 表名:project 项目成员表大致结构如下. 表名:projectMember projectMember表的PID和project的Id关联,project_WorkTime是member_WorkTime的和. 往project表插三条数据. projectMember表数据如下: sql语句如下: UP

数据库笔记10:插入数据 创建和操纵表

第二十章 插入数据 INSERT是用来插入(或添加)行到数据库表的.插入数据的几种方式: 1  插入完整的行 2 插入行的一部分 3  插入多行 4 插入某些查询结果 INSERT SELECT语句 INSERT INTO customers(cust_id,cust_name,cust_email) SELECT cust_id,cust_name,cust_email FROM custnew; 列省略 如果表中定义允许,则可以在INSERT操作中省略某些列,省略的列必须满足以下某个条件.

mysql第四篇:数据操作之多表查询

mysql第四篇:数据操作之多表查询 一.多表联合查询 #创建部门 CREATE TABLE IF NOT EXISTS dept ( did int not null auto_increment PRIMARY KEY, dname VARCHAR(50) not null COMMENT '部门名称' )ENGINE=INNODB DEFAULT charset utf8; #添加部门数据 INSERT INTO `dept` VALUES ('1', '教学部'); INSERT INT

复制表、复制表结构、复制数据

完全复制表(含表结构+表数据) create  table   新表名  as  select * from  需要复制的表名; 复制表部分字段和数据 CREATE TABLE   新表名(列1,列2)   AS  SELECT   列1,列2  FROM OLD_TABLE; 复制表结构不复制数据 CREATE TABLE   新表名   AS  SELECT   *  FROM OLD_TABLE  where 1=2 ; 只复制表内容不复制表结构 ---复制表内容最好被复制的表与需要复制数

【数据库】主键,外键,主表,从表,关联表,父表,子表

转自:https://www.2cto.com/database/201707/662425.html 一.前言 在数据库设计中,hibernate,iBatis等ORM框架的使用中经常听说主键,外键,主表,从表,关联表,父表,子表之类的术语,弄懂它们之前的区别与联系对于数据库设计和ORM框架的学习使用是非常有必要的. 二.概述 下面从数据库设计角度,ORM框架使用(以Hibernate为例),PowerDesigner软件以及实际业务角度进行一下介绍. (1) 数据库角度而言 主键:一般情况下

hive大表和小表MapJoin关联查询优化

大表和小表关联查询可以采用mapjoin优化查询速度.那什么是mapjoin呢?理解MapJoin之前先介绍另一种Join方式,CommonJoin.我们知道Hive编写SQL语句,Hive会将SQL解析成MapReduce任务.对于一个简单的关联查询,CommonJoin任务设计Map阶段和Reduce阶段.Mapper 从连接表中读取数据并将连接的 key 和连接的 value 键值对输出到中间文件中.Hadoop 在所谓的 shuffle 阶段对这些键值对进行排序和合并.Reducer 将

MySQL复制表结构,表数据。

1.复制表结构及数据到新表CREATE TABLE 新表 SELECT * FROM 旧表 这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete from newtable;来删除. 不过这种方法的一个最不好的地方就是新表中没有了旧表的primary key.Extra(auto_increment)等属性.需要自己用"alter"添加,而且容易搞错. 2.只复制表结构到新表 CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2

4.windows和Linux下创建oracleusername表空间,表,插入数据,用户管理表等操作

进入超级管理员,运行下面命令 Window下创建数据库.表空间,用户,插入数据等操作 -- 01 创建表空间 -- 注意表空间的路径 依据实际安装环境进行调整 CREATE TABLESPACE ts_myscott LOGGING DATAFILE 'F:/app/to-to/oradata/orcl/ts_myscott.dbf' SIZE 10M EXTENT MANAGEMENT LOCAL; CREATE TABLESPACE ts_myscott2 LOGGING DATAFILE