MySQL数据库实验二:单表查询
实验二 单表查询
一、实验目的
理解SELECT语句的操作和基本使用方法。
二、实验环境
是MS SQL SERVER 2005的中文客户端。
三、实验示例
1、查询全体学生的姓名、学号、所在系。
SELECT Sname,S#,Sdept
FROM S;
2、查询全体学生的详细记录。
SELECT *
FROM S;
3、查全体学生的姓名及其出生年份。
SELECT Sname,2011-Sage /*假定当年的年份为2011年*/
FROM S;
4、查询选修了课程的学生学号。
SELECT S# FROM SC;
等价于:
SELECT ALL S# FROM SC;
指定DISTINCT关键词,去掉表中重复的行
SELECT DISTINCT S#
FROM SC;
5、 查询所有年龄在20岁以下的学生姓名及其年龄。
SELECT Sname,Sage
FROM S
WHERE Sage < 20;
6、 查询考试成绩有不及格的学生的学号。
SELECT DISTINCT S#
FROM SC
WHERE Grade<60;
7、 查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄
SELECT Sname,Sdept,Sage
FROM S
WHERE Sage BETWEEN 20 AND 23;
8、查询所有姓刘学生的姓名、学号和性别。
SELECT Sname,S#,Ssex
FROM S
WHERE Sname LIKE ‘刘%’;
9、查询姓"欧阳"且全名为三个汉字的学生的姓名。
SELECT Sname
FROM S
WHERE Sname LIKE '欧阳__';
10、 某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。查询缺少成绩的学生的学号和相应的课程号。
SELECT S#,C#
FROM SC
WHERE Grade IS NULL
11、查询计算机系年龄在20岁以下的学生姓名。
SELECT Sname
FROM S
WHERE Sdept= 'CS' AND Sage<20;
12、 查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列。
SELECT S#,Grade
FROM SC
WHERE C#= ' 3 '
ORDER BY Grade DESC;
13、查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄降序排列。
SELECT *
FROM S
ORDER BY Sdept,Sage DESC;
14、 计算1号课程的学生平均成绩。
SELECT AVG(Grade)
FROM SC
WHERE C#= ' 1 ';
15、 求各个课程号及相应的选课人数。
SELECT C#,COUNT(S#)
FROM SC
GROUP BY C#;
16、 查询选修了3门以上课程的学生学号。
SELECT S#
FROM SC
GROUP BY S#
HAVING COUNT(*) >3;
四、实验内容与步骤
1、检索LIU老师所授课程的课程号和课程名。
2、检索年龄大于23岁的男学生的学号和姓名。
3、在表C中统计开设课程的教师人数。
4、 统计每个学生选修课程的门数(超过5门的学生才统计)。要求输出学生学号和选修门数,查询结果按门数降序排列,若门数相同,按学号升序排列。
5、 在表SC中检索成绩为空值的学生学号和课程号。
6、 检索姓名以L打头的所有学生的姓名和年龄。
7、查询年龄不在20~23岁之间的学生姓名、系别和年龄
8、查询既不是信息系、数学系,也不是计算机科学系的学生的姓名和性别。
9、查询所有不姓刘的学生姓名。
10、查所有有成绩的学生学号和课程号。
MySQL数据库实验二:单表查询的更多相关文章
- python实现简易数据库之二——单表查询和top N实现
上一篇中,介绍了我们的存储和索引建立过程,这篇将介绍SQL查询.单表查询和TOPN实现. 一.SQL解析 正规的sql解析是用语法分析器,但是我找了好久,只知道可以用YACC.BISON等,sqlit ...
- MySQL数据库篇之单表查询
主要内容: 一.单表查询的语法 二.关键字的执行优先级 三.简单查询 四.where约束 五.分组查询 group by 六.having过滤 七.查询排序 order by 八.限制查询的记录数 l ...
- MySql(六)单表查询
十.单表查询 一.单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制 ...
- 数据库——SQL数据单表查询
数据查询 语句格式 SELECT [ALL|DISTINCT] <目标列表达式> [,<目标列表达式>] … FROM <表或视图名>[,<表或视图名&g ...
- mysql四-1:单表查询
一.单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 二.关键 ...
- (七)MySQL数据操作DQL:单表查询1
(1)单表查询 1)环境准备 mysql> CREATE TABLE company.employee5( id int primary key AUTO_INCREMENT not null, ...
- MySQL数据库实验四:嵌套查询
实验四 嵌套查询 一.实验目的 掌握SELECT语句的嵌套使用,实现表的复杂查询,进一步理解SELECT语句的高级使用方法. 二.实验环境 三.实验示例 1. 查询与“刘晨”在同一 ...
- MySQL数据库实验三:连接查询
实验三 连接查询 实验名称:连接查询(2课时) 一.实验目的 理解JOIN语句的操作和基本使用方法,掌握内连接.外连接.自身连接的概念和使用. 二.实验环境 是MS SQL SERVER 200 ...
- MYSQL数据库学习十 单表数据记录查询
10.1 简单数据记录查询 SELECT field1,field2,...fieldn FROM table_name; “*” ——查询所有记录 SELECT * FROM table_name; ...
随机推荐
- 关于c语言的位运算&,|,^(看懂汉字的都能看懂)
其中|,&可以当作逻辑运算符,当|,&当成逻辑运算符时,与||,&&的用法基本相似,&&,||运算时会当前面的表达式能够决定整个表达式,则不进行对后面的 ...
- Java的JsonHelper
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --> <dependency> <g ...
- Linux中的netstat命令详解
功能说明 netstat是基于Netstat这个命令行工具的指令,它可以用来查询系统上的网络套接字连接情况,包括tcp,udp以及Unix套接字:另外它还能列出路由表,接口状态和多播成员等信息. 主要 ...
- 2.2 Rust 数据类型
2.2 数据类型 let guess: u32 = "42".parse().expect("Not a number!"); Rust has four pr ...
- 虚拟机 ---- 最小化安装无法使用tab补全键
解决方法: 安装 yum -y install bash-completion 然后重启 注意:挂载时使用绝对路径的cdrom挂载, ls -l /dev/cdromvim /etc/fstab — ...
- 转 PyCharm 进行调试 以及怎么熟悉一个已经成熟的项目的代码和断点 以及 jetBrains pycharm快捷键
https://blog.csdn.net/guider2334/rss/list Ctrl + Q 现实document视图,查看选择元素的详细信息 (重要) Ctrl + Alt + ...
- Idea创建Maven项目没有src
第一次创建,下载非常慢,解决方法 1.配置环境变量 第二种:创建Maven项目时加上 archetypeCatalog=internal 参数 第三种:为自己的Maven配置国内镜像源 打开自己的 M ...
- [转]怎么样快速入门AngularJS?
本文转自:http://www.ngnice.com/posts/205af1ea1e13d2 怎么样快速学习AngularJS? 相信很多初学者都有过或者类似的疑问,其实这个问题没有标准的答案,每个 ...
- [转]使用 YCombo 做 JS /CSS开发 合并 压缩
本文转自:http://www.neoease.com/minimize-javascript-files-using-ycombo/ 前文已介绍过 YCombo 及相关的 CSS 和 JS 合并工具 ...
- 转:POST 400 Bad Request The request sent by the client was syntactically incorrect
最近在做Web开发的时候,使用$.post提交数据,但是回调函数却没有被触发,按F12看控制台输出是:POST *** 400 Bad Request 后台是SpringMVC的,设置了断点也不会被触 ...