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. SQL语句基础之 单表查找

    Sql语句之 单表查询 一.一般查询 1.查看表中的所有记录 以及 所有字段(属性) 语句 : select * from student; 2.只查看某些字段 语句:select sname,sex ...

  2. 精妙SQL语句 基础

    精妙SQL语句SQL语句先前写的时候,很容易把一些特殊的用法忘记,我特此整理了一下SQL语句操作,方便自己写SQL时方便一点,想贴上来,一起看看,同时希望大家能共同多多提意见,也给我留一些更好的佳句, ...

  3. Oracle PL/SQL语句基础学习笔记(上)

    PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE server和其它工具中了,近几年中很多其它的开发者和DBA開始使用PL/SQL,本文将讲述PL ...

  4. MySQL数据库:SQL语句基础、库操作、表操作、数据类型、约束条件、表之间的关系

    数据库相关概念: 1. 数据库服务器:运行数据库管理软件的计算机 2. 数据库管理软件:MySQL.Oracle.db2.slqserver 3. 库:文件夹,用来组织文件/表 4. 表:文件(类似于 ...

  5. 【MySQL】SQL语句基础

    一.操作数据库 1.1 创建数据库 1.2 查看数据库 1.3 修改数据库 1.4 删除数据库 1.5 选择数据库 二.操作表 2.1 创建表 2.2 查看表 2.3 修改表 2.4 删除表 三.操作 ...

  6. SQL语句基础知识

    1.关于SQL语句中exists与not exists的问题 course表如下:课程代号 课程名称 K01 奥运会主题曲 K02 喜爱的专辑 K03 VB技术大全 K04 经典歌曲 K05 个人单曲 ...

  7. SQL语句基础之 管理数据库,表 和 数据

    MySQL中的基本sql语句 MySQL中主要有三个大的对象,第一个是数据库,有了数据库后,我们才能在数据库里面建表,因为Mysql是关系数据库,它的数据都会以记录的形式存到表里,所以第二个是表,然后 ...

  8. sql语句基础

    数据库库(DataBase):就是一个存储数据的仓库.为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上.通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据.SQL(Structu ...

  9. 第二章 基础查询 2-1 SQL语句基础

    一.列的查询 基本的SELECT语句: SELECT <列名 >,...... FROM < 表名>; 注:子句是SQL的组成要素. 注:查询结果中的列的顺序和SELECT子句 ...

随机推荐

  1. pytorch识别CIFAR10:训练ResNet-34(自定义transform,动态调整学习率,准确率提升到94.33%)

    版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com 前面通过数据增强,ResNet-34残差网络识别CIFAR10,准确率达到了92.6. 这里对训练过程 ...

  2. git submoudle提交

    进入到各个submoudle文件夹 git status 查看所在branch和文件修改状态 git add [files]; git commit "" git pull ori ...

  3. PHP知识点记录

    笔记源自---PHP必须知道的300个问题 一.提高编程效率 1.echo中字符串用单引号包含起来会比用双引号快. 2.$row['id']的速度要比$row[id]快很多. 3.echo比print ...

  4. nodejs搭建web服务器

    一.代码结构 //1.引入相关模块 var http=require("http") var url=require("url") var fs=require ...

  5. 【NLP】BLEU值满分是100分吗?

    为了解决这个问题,首先需要知道BLEU值是如何计算出来的. BLEU全称是Bilingual Evaulation Understudy.其意思是双语评估替补.所谓Understudy(替补),意思是 ...

  6. 洛谷P1512伊甸园的日历游戏题解

    题目 因为可能要参加qbxt的数论考试,所以最近要开始猛刷数论题了. 这是第一道,不过看样子并不想数论题啊,只是一个博弈论. 思路 一位著名老师说过,数学就是转化和化简,所以先考虑化简,先考虑化简年份 ...

  7. Heap Partition ZOJ - 3963(贪心)

    ZOJ - 3963 贪心做一下就好了 反正别用memset #include <iostream> #include <cstdio> #include <sstrea ...

  8. Spring框架的@Valid注解

    上一篇文章介绍了springmvc的get请求参数可以是一个自定的对象.那么如何限制这个对象里的参数是否必传呢? 方法一:在代码逻辑里取出对象里的这个值,手动进行判断 方法二:使用@Valid注解,在 ...

  9. MT【323】向量模的范围

    已知单位向量 $\overrightarrow e_1,\overrightarrow e_2$ 的夹角为 $120^\circ$,$\left|x\overrightarrow e_1+y\over ...

  10. [pip]upgrade outdated pip package on windows / 在windows上更新所有过时的pip包

    首先更新pip自身: python -m pip install -U pip 查询过期包: pip list --outdated --format=columns Package Version ...