1、求1号课成绩大于80分的学生的学号及成绩,并按成绩由高到低列出。(表名:成绩表。字段名:课号,学号,成绩。)
SELECT 学号,成绩 FROM 成绩表 WHERE 课号=1 AND 成绩>80 ORDER BY 成绩 DESC

2、列出非软件专业学生的名单。(表名:学生表。字段名:学号,性别,姓名,专业。)
SELECT 姓名 FROM 学生表 WHERE 专业 not in (‘软件’)

3、查询成绩在70~80分之间的学生选课得分情况。(表名:选课表。字段名:课号,学号,成绩。)
SELECT * FROM 选课表 WHERE 成绩 BETWEEN 70 AND 80

4、列出选修1号课或3号课的全体学生的学号和成绩。(表名:选课表。字段名:课号,学号,成绩。)
方法一:SELECT 学号,成绩 FROM 选课表 WHERE 课号=1 OR 课号=3
方法二:SELECT 学号,成绩 FROM 选课表 WHERE 课号 IN (1,3)

5、列出所有98级学生的学生成绩情况。(表名:选课表。字段名:课号,学号,成绩,班级。)
SELECT * FROM 选课表 WHERE 学号 LIKE “98%”

6、列出成绩为空值(或不为空值)的学生的学号和课号。(表名:选课表。字段名:课号,学号,成绩。)
答案一:SELECT 学号,课号 FROM 选课表 WHERE 成绩 IS NULL
答案二:SELECT 学号,课号 FROM 选课表 WHERE 成绩 IS NOT NULL

7、求出所有学生的总成绩。(表名:选课表。字段名:课号,学号,成绩。)
SELECT SUM(成绩) AS 总成绩 FROM 选课表

8、列出每个学生的平均成绩。(表名:选课表。字段名:课号,学号,成绩。)
SELECT 学号,AVG(成绩) AS 平均成绩 FROM 选课表 GROUP BY 学号

9、列出各科的平均成绩、最高成绩、最低成绩和选课人数。(表名:选课表。字段名:课号,学号,成绩。)
SELECT 课号,AVG(成绩) AS 平均成绩,MAX(成绩) AS 最高分,MIN(成绩) AS 最低分,COUNT(课号) AS 选课人数
FROM 选课表 GROUP BY 课号

10、列出选修1号课的学生姓名及成绩。【表名:学生表(字段名:学号,性别,姓名,专业。)】;【表名:成绩表(字段名:课号,学号,成绩。)】
SELECT 姓名,成绩 FROM 学生表,成绩表 WHERE 学生表.学号=成绩表.学号 AND 课号=1

11、列出选修1号课的学生的学号、姓名及成绩。【表名:学生表(字段名:学号,性别,姓名,专业。)】;【表名:成绩表(字段名:课号,学号,成绩。)】
SELECT 学生表.学号,姓名,成绩 FROM 学生表,成绩表 WHERE 学生表.学号=成绩表.学号 AND 课号=1

12、求出总成绩大于150的学生的学号、姓名及总成绩。【表名:学生表(字段名:学号,性别,姓名,专业。)】;【表名:成绩表(字段名:课号,学号,成绩。)】
SELECT 学生表.学号,学生表.姓名,SUM(成绩) AS 总成绩 FROM 学生表,成绩表
WHERE 学生表.学号=成绩表.学号 GROUP BY 学生表.学号,学生表.姓名 HAVING SUM(成绩)>150

13、实战基础题一
Student(S#,Sname,Sage,Ssex) 学生表
Course(C#, Cname ,T#) 课程表
SC(S#, C#, score)成绩表
Teacher (T#, Tname) 教师表

1,查询平均成绩大于60分的同学的学号和平均成绩;
select SC.s#,avg(SC.score)
from SC
group by SC.s#
having avg(SC.score)>60;
2,查询所有同学的学号,姓名,选课数,总成绩;
select d.s#,d.sname,count(distinct s.c#),sum(s.score)
from Student d,SC s
where d.s#=s.s#
group by d.s#, d.sname;
3,查询所有课程成绩小于60分的同学的学号,姓名
SELECT stu.S#,stu.Sname FROM SC sc, student stu
WHERE stu.S# = sc.S# GROUP BY stu.S# ,stu.Sname
HAVING MAX(sc.score) < 60;
4,删除学习’叶平’老师课的SC 表记录;
DELETE FROM SC WHERE S#
IN (
SELECT DISTINCT sc.S# FROM SC sc, course c, teacher t
WHERE sc.C# = c.C# AND c.T# = t.T#
AND t.tname = ‘叶平’);
delete from SC where C# in
(select C# from Course,Teacher where Course.T#=Teacher.T#
AND Tname=‘叶平’ );
delete from SC where C# in
(SELECT C# from Course where T# in
(select T# FROM Teacher WHERE Tname=‘叶平’ ) );

5,查询各科成绩最高和最低的分:以如下形式显示:课程ID, 最高分,最低分。
select C# 课程ID, max(score) 最高分 ,min(score) 最低分
from SC
GROUP BY C#;

14、实战基础题二
有两张表: 部门表department 部门编号dept_id 部门名称dept_name
员工表employee 员工编号emp_id 员工姓名emp_name 部门编号dept_id 工资emp_wage
根据下列题目写出sql:
1、列出工资大于5000的员工所属的部门名、员工id和员工工资
select a.dept_name, b.emp_id , b.emp_wage
from department a , employee b
where a.dept_id= b.dept_id and b.emp_wage> 5000;
2、列出员工表中的部门id对应的名称和员工id (左连接)
select a.dept_id , b.dept_name,a.emp_id from employee a
left join department b
on a.dept_id= b.dept_id;
3、列出员工大于等于2人的部门编号
select dept_id,count(emp_id) from employee group by dept_id having count(emp_id)>=2;
4、列出工资最高的员工姓名
select emp_name ,emp_wage
from employee
where emp_wage = (select max(emp_wage) from employee);
select emp_name,max(emp_wage)
from employee
group by emp_name
having max(emp_wage) = (select max(distinct emp_wage) from employee);
5、求各部门的平均工资
select a.dept_id,a.dept_name ,avg(emp_wage)
from department a,employee b
where a.dept_id= b.dept_id
group by a.dept_id,a.dept_name;
6、求各部门的员工工资总额
select a.dept_id,a.dept_name ,sum(emp_wage)
from department a,employee b
where a.dept_id= b.dept_id
group by a.dept_id,a.dept_name;
7、求每个部门中的最大工资值和最小工资值,并且它的最小值小于5000,最大值大于10000
select dept_id , max(emp_wage) 最高工资, min(emp_wage) 最低工资
from employee
group by dept_id
having max(emp_wage)>10000 and min(emp_wage)<5000;

8、假如现在在库中有一个和员工表结构相同的空表employee2,请用一条sql语句将employee表中的所有记录插入到employee2 中。
insert into employee2 select * from employee;

SQL基础语法练习题(1)相关推荐

  1. Oracle PL/SQL基础语法学习13:比较运算符

    系列文章目录 Oracle PL/SQL基础语法学习12:短路求值 Oracle PL/SQL基础语法学习13:比较运算符 Oracle PL/SQL基础语法学习14:BOOLEAN表达式 文章目录 ...

  2. SQL基础语法学习总结

    本篇博客对于sql的基础语法做一个总结,学的东西太多太杂,总是不能记住太多东西,所以很多东西,会用,但是背不下来,毕竟不可能把所有语法和关键字都背完啊,本篇文章呢就用通俗易懂的话做一个基础知识的总结. ...

  3. mysql安装及sql基础语法

    卑微小吴励志写博客第五天 由于国际形式紧张,某为公司今年很多项目的最紧急的事情就是数据库迁移,基本上都是从oracle迁移到mysql.所以对于程序员的我们,学习mysql数据库的相关知识是必须的.而 ...

  4. sql 基础语法 创建数据库和数据表 数据增删改查 分组查询 子查询回顾

    参考链接: SQL教程 MySQL教程 一.创建数据库语法 --用master数据库 use master --判断数据库是否存在,若存在则删除 if exists (select * from sy ...

  5. SQL基础语法_赵俊杰

    一.建库建表语法,字段数据类型 1.建库 CHRATE DATABASE IF NOT EXISTS 库名 DEFAULT CHARSET utf8; use 库名: IF NOT EXISTS:当表 ...

  6. SQL基础语法与规则

    SQL语句不区分大小写 不区分关键字的大小写,如select 或者 SELECT 都一样. 但是插入到表中的数据是区分大小. 常数的书写方式是固定的 字符串.日期常数需要使用单引号(')括起来. 数字 ...

  7. SQL基础语法_刘世民

    1.建库建表语法,字段数据类型, 需要案例 CREATE DATABASE IF NOT EXISTS love DEFAULT CHARSET utf8; USE love; CREATE TABL ...

  8. sql 基础语法[增删改查]

    整理如下: 1增 1.1[插入单行] insert [into] <表名> (列名) values (列值) 例:insert into Strdents (姓名,性别,出生日期) val ...

  9. 数据库SQL基础语法

    一. 数据完整性 数据完整性是为了保证插入到数据库中的数据是正确的,防止用户可能的错误输入. 数据完整性分为实体完整性.域完整性.参照完整性. 2.1实体(行)完整性 (实体完整性中的实体指的是表中的 ...

最新文章

  1. Ant Design Vue中a-select组件下拉列表在局部滚动时不跟随问题解决方法
  2. CTFHUB HTTP请求方式 HTTP 请求方法, HTTP/1.1协议中共定义了八种方法(也叫动作)来以不同方式操作指定的资源。
  3. Debian普通用户添加sudo权限
  4. GMIS 2017大会Wesly Mukai演讲:智能运输的未来
  5. DL之simpleNet:利用自定义的simpleNet(设好权重)对新样本进行预测、评估、输出梯度值
  6. 一份来自一月寒冬互联网一线的面经(附面试题)
  7. 敏捷开发与中医理论系列之一:序言及为何中医教材都是千年古籍
  8. 数据湖架构,为什么需要“湖加速”?
  9. eclipse 关闭时progress information弹框_如何关闭 iPhone 中的评分和好评弹窗?
  10. java 实现按规则自增功能_java运算符详解 - osc_74vaali6的个人空间 - OSCHINA - 中文开源技术交流社区...
  11. C# 输入一个整数,求质因数
  12. 吴恩达机器学习之线性逻辑回归实现部分
  13. CTF逆向总结(二)
  14. 基于comsol软件的三维单模光纤模拟
  15. 游戏美术-魔兽世界查看器的正确使用方法
  16. 【Linux】 Ubuntu intel网卡驱动安装
  17. 红山区智慧城管系统正式上线运行
  18. 获取access_token报错errcode: 40125,errmsg: invalid appsecret, view more at http://t.cn/RAEkdV
  19. virmach VPS升级Ryzen锐龙主机后vps一直离线无法重置解决办法
  20. arm-linux-objdump -D -m arm led_elf led.dis 是什么意思?

热门文章

  1. 设计模式-请假流程-责任链模式
  2. 用借款方实际付出的手续费(或利息)计算真实的手续费率(或利率),或快速估算年利率
  3. SOM-TL437x是基于TI Sitara系列AM4376/AM4379 ARM Cortex-A9高性能低功耗处理器设计的工业级核心板
  4. echart柱状图堆叠总计显示
  5. ASM管理命令行三工具:KFOD、KFED和AMDU
  6. 解决计算机问题联盟,[转载]Ansys证书问题解决方法
  7. 机器人学笔记之——空间描述和变换:姿态的其他描述方法
  8. 【Python】Python实验:回文是一个正向和逆向都相同的整数,如123454321、463364、9889。编写函数判断一个整数是否是回文数。
  9. 别踩白块儿 开源免费(C++)
  10. 百度地图让用户“私人定制“:一场语音定制背后的AI能力强势输出