数据库作业

注意

MySQL的数据库名、表名、列名、别名大小写规则是这样的:

1、数据库名与表名是严格区分大小写的;

2、表的别名是严格区分大小写的;

3、列名与列的别名在所有的情况下均是忽略大小写的;

4、字段内容默认情况下是大小写不敏感的。

先建表,这是我们查询的预备工作

Student表

创建表

create table student(
Sno int,
Sname varchar(30),
Ssex varchar(10),
Sage int,
Sdept varchar(20));

插入数据

insert into student values("2012151121","李勇","男",20,"CS");

insert into student values("2012151122","刘晨","女",19,"CS");

insert into student values("2012151123","王敏","女",18,"MA");

insert into student values("2012151125","张立","男",19,"IS");

Course表

创建表

create table course(
cno int,
cname varchar(30),
cpno int,
ccredit int));

插入数据

insert into Course values("1","数据库",5,4);

insert into Course values("2","数学",NULL,2);

insert into Course values("3","信息系统",1,4);

insert into Course values("4","操作系统",6,3);

insert into Course values("5","数据结构",7,4);

insert into Course values("6","数据处理",NULL,2);

insert into Course values("7","PASCAL语言",6,4);

SC表

建表

Create table Sc(
sno int,
cno int,
grade int);

插入数据

insert into SC values(201215121,1,92);

insert into SC values(201215121,2,85);

insert into SC values(201215121,3,88);

insert into SC values(201215122,2,90);

insert into SC values(201215122,3,80);

查询语句

1.查询全体学生的详细记录

select * from student;

2.查询全体学生的学号和姓名

select Sno,Sname from student;

3.查询全体学生的学号和姓名,使用列别名改变查询结果的列标题,把列名改为汉字“学生编号”“学生姓名”。(选做)

select Sno as "学生编号",Sname as "学生姓名" from student;

4.查询选修了课程的学生学号。(不去掉重复学号的和去重的都试一下)

select distinct Sno from SC;
select Sno from SC;

5.查询‘CS’系全体学生的名单

select * from student where Sdept="CS";

6.查询‘1’号课的选课情况

select * from SC where Cno=1;

7.查询男同学的学号和姓名

select Sno,Sname from student where Ssex="男";

8.查询考试成绩有不及格的课程的课程号。(不去掉重复学号的和去重的都试一下)

select Cno from sc where grade<60;
select distinct Cno from sc where grade<60;

9.查询成绩在95~99分(包括95分和99分)之间的选课记录的学号、课程号和成绩.

select * from SC where grade>=95 and grade<=99;
select * from SC where grade between 95 and 20;

10.查询成绩不在95~99分之间的学号、课程号和成绩。

select * from SC where grade not between 95 and 99;

11.查询年龄是18岁、20岁或24岁的学生的姓名和性别。(几种写法?)

select Sname,Ssex from student where Sage=18 or Sage=20 or Sage=24;
select Sname,Ssex from student where Sage in(18,20,24);

12.查询年龄既不是18岁、20岁,也不是24岁的学生的姓名和性别。

select Sname,Ssex from student where Sage not in(18,20,24);

13.查询课程名中第2个字为 "据" 字的课程的课程号、课程名和学分。

select Cno,Cname,Ccredit from course where substr(Cname,2,1)="据";

14.查询课程名为“A_ C”课程的课程号和学分

select Cno,Ccredit,Cname from course where Cname = "A_C" ;

15.查询没有先行课的课程号和课程名

select Cno,Cname from course where cpno is NULL;

16.查询缺少了成绩的学生的学号和课程号

select Sno,Cno from SC where grade is null;

17.查询男同学的学号、姓名、年龄和所在系,将查询结果按所在系的系号降序排列,同一系中的学生按年龄升序排列。

select Sno,Sname,Sage,Sdept from Student where Ssex="男" order by Sdept desc ,Sage asc;

18.查询开设的课程总门数.

select count(*) from Course;

19.查询有学生选的课程的门数

select count(distinct Cno) from SC;

20.查询全体同学的最小年龄。

select min(Sage) from student;

21.查询男同学的最小年龄。

select min(Sage) from student where Ssex="男";

22.查询‘CS’系男同学的最小年龄。

select min(Sage) from student where Sdept="CS" and Ssex="男";

23.查询‘95001’同学的选课平均成绩。

select avg(grade) from SC where Sno="95001";

24.查询‘95001’同学的选课最高成绩

select max(grade) from SC where Sno="95001";

25.查询有选课记录的同学的学号和他相应的选课门数。

select Sno,count(Sno) from sc group by Sno;

26查询‘CS’系或‘MA’系姓刘的学生的信息。

select * from student where substr(Sname,1,1)="刘" and Sdept in("CS","MA");

HBU-数据库第五周作业的更多相关文章

  1. 2018-2019-1 20189221《Linux内核原理与分析》第五周作业

    2018-2019-1 20189221<Linux内核原理与分析>第五周作业 实验四 实验过程 当用户态进程调用一个系统调用时,cpu切换到内核态并开始执行一个内核函数. 在Linux中 ...

  2. 2017-2018-1 JaWorld 第四、五周作业

    2017-2018-1 JaWorld 第四.五周作业 两周工作内容 小组讨论并确定最终的app雏形 合作完成需求说明书 工作分工 成员 分工 比例 陈是奇 1.引言 8% 马平川 2.1-2.5 产 ...

  3. 2017-2018-1 JAVA实验站 第四、五周作业

    2017-2018-1 JAVA实验站 第四.五周作业 JAVA实验站小组成员 学号 名字 职务 20162318 张泰毓 组长 20162303 石亚鑫 组员 20162304 张浩林 组员 201 ...

  4. 2017-2018-1 20179205《Linux内核原理与设计》第五周作业

    <Linux内核原理与设计>第五周作业 视频学习及操作分析 一.用户态.内核态和中断 内核态在CPU执行中对应高执行级别,执行级别为0级,具有特权指令,可以访问任意物理地址:用户态执行级别 ...

  5. 第五周作业:markdown语法小总结

    第五周作业 markdown语法总结 早就想写这么一个文章了,关于markdown的语法,因为最近使用的比较多,所以特地总结一下 一,标题 首先要介绍的就是标题, 标题一共有六级 # h1 ## h2 ...

  6. 2019-2020-1 20199329《Linux内核原理与分析》第五周作业

    <Linux内核原理与分析>第五周作业 一.上周问题总结: 虚拟机将c文件汇编成汇编文件时忘记添加include<stdio.h> gdb跟踪汇编过程不熟练 二.本周学习内容: ...

  7. 2019春第五周作业Compile Summarize

    这个作业属于哪个课程 C语言程序设计II 这个作业要求在哪里 在这里 我在这个课程的目标是 能够精通关于数组内部运作原理 这个作业在哪个具体方面帮助我实现目标 如何输出一行的连续字符 参考文献与网址 ...

  8. 第四周预习作业and第五周作业

    第四周预习作业 统计一行文本的单词个数 本题目要求编写程序统计一行字符中单词的个数.所谓"单词"是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个. 输入格式: 输入 ...

  9. 20162327WJH第五周作业

    学号 20162327 <程序设计与数据结构>第5周学习总结 教材学习内容总结 1.java是一种面向对象的语言.面向对象是一种编程方法.更是一种思维方式. 2.面向对象编程的终极目标是消 ...

  10. 第五周作业总结(内含用Junit测试ArrayStack和LinkedStack课堂练习报告)

    ---恢复内容开始--- 学号 20162310<程序设计与数据结构>第五周学习总结 教材学习内容总结 集合分为线性集合(集合中的元素排成一行)和非线性集合(按不同于一行的方式来组织元素, ...

随机推荐

  1. 组合数学--容斥原理&鸽巢原理

    一次会议由1990位数学家参加,每人至少有1327位合作者.证明可以找到4位数学家,他们当中每两个人都合作 优质解答 这题可以分两步来做.第一,先证明一定有三个人,他们相互合作过.可以先找两个相互合作 ...

  2. JavaScript值类型和引用类型有哪些

    JavaScript值类型和引用类型有哪些 (1)值类型:数值.布尔值.null.undefined. (2)引用类型:对象.数组.函数.

  3. javascript学习内容

    http协议 犀牛书 MDN js单线程 let只在代码块内有效 es5只有全局作用域 const变量指向的内存地址不得改动,值不能保证不变 全局变量不加var node.js 更改连接到服务器的方式 ...

  4. 刷金币全自动脚本 | 让Python每天帮你薅一个早餐钱(送源码)

    刷金币全自动脚本 | 让Python每天帮你薅一个早餐钱(送源码) 测试开发社区  6天前 文章转载自公众号  AirPython , 作者 星安果 阅读文本大概需要 12 分钟. 1 目 标 场 景 ...

  5. Hexo搭建总结

    Hexo搭建过程记录 1.Hexo基本环境搭建 1.Hexo安装前提 Node.js和Git,他们的安装方法可以自行百度. 2.具体安装步骤可以参考: https://www.cnblogs.com/ ...

  6. 远程终端协议 TELNET

    远程终端协议 TELNET 1.1.概述 TELNET 是一个简单的远程终端协议,也是因特网的正式标准. 用户用 TELNET 就可在其所在地通过 TCP 连接的23端口,使用主机名或 IP 地址登录 ...

  7. 致敬尤雨溪,Vue.js 让我赚到了第一桶金

    最近这个 Vue.js 纪录片在前端圈广为传播,相信不少人已经看过了.第一次看编程领域的纪录片,感觉还挺新鲜的.这部 30 分钟左右的纪录片制作精良,主角是 Vue.js 作者尤雨溪,还穿插采访了框架 ...

  8. 参考C# 使用 System.Web.Script.Serialization 解析 JSON

    参考C# 使用 System.Web.Script.Serialization 解析 JSON 使用json需要引用到System.Web.Script.Serialization.习惯在解决方案右键 ...

  9. Angular 从入坑到挖坑 - 表单控件概览

    一.Overview angular 入坑记录的笔记第三篇,介绍 angular 中表单控件的相关概念,了解如何在 angular 中创建一个表单,以及如何针对表单控件进行数据校验. 对应官方文档地址 ...

  10. JavaScript(5)--- 面向对象 + 原型

    面向对象 + 原型 面向对象这个概念并不陌生,如 C++.Java 都是面向对象语言.面向对象而言都会现有一个类的概念 ,先有类再有对象.类是实例的类型模板. 比如人类 是一个类 张三 李四 就是一个 ...