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. vue-cli3相关

    此时做的一个vue-cli3项目build后,app.js达到了10M,主要为elementui.quill等组件: 最开始使用“compression-webpack-plugin”插件根据网上的说 ...

  2. windows环境下mysql密码重置

    1.打开cmd窗口,输入命令[mysqld --skip-grant-tables]回车. 2.再打开一个cmd窗口,输入命令[mysql]回车. 3.输入命令[use mysql; ] 连接权限数据 ...

  3. 一、操作m'y's'ql

    一.创建framework框架的控制台默认不支持mysql

  4. bs4模块

    1.导入模块 from bs4 import BeautifulSoup 2.创建对象 Beautiful Soup支持Python标准库中的HTML解析器,还支持一些第三方的解析器,如果我们不安装它 ...

  5. 洛谷P1169[ZJOI2007]棋盘制作

    题目 一道悬线法的裸题,悬线法主要是可以处理最大子矩阵的问题. 而这道题就是比较经典的可以用悬线法来处理的题. 而悬线法其实就是把矩阵中对应的每个位置上的元素分别向左向上向右,寻找到不能到达的地方,然 ...

  6. Scrapy 框架简介

    Scrapy 框架 介绍 Scrapy一个开源和协作的框架,其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的,使用它可以以快速.简单.可扩展的方式从网站中提取所需的数据.但目前Scrapy的 ...

  7. HTML&CSS_基础02

    一.实体 # 1. 一些符号如 “<”. “>”. “ ”. ”©“等,不能使用其本身,需要借助实体(即转义字符),格式通常为:& (字符对应实体); 如 &lt . &a ...

  8. GraphQL

    GraphQL 官方描述: GraphQL 既是一种用于 API 的查询语言也是一个满足你数据查询的运行时. GraphQL 对你的 API 中的数据提供了一套易于理解的完整描述,使得客户端能够准确地 ...

  9. Asp.net MVC 权限过滤器实现方法的最佳实践

    在项目开发中,为了安全.方便地判断用户是否有访问当前资源(Action)的权限,我们一般通过全局过滤器来实现. Asp.net MVC 页面中常见的权限判断使用过滤器主要在以下几种情况(根据权限判断的 ...

  10. head里两个重要标签base和meta

    base标签 <base href="../"> 我们并不常用的一个标签,但是一旦用得不当会带来灾难性的影响. 它会影响到所有页面上的href和src属性相对路劲的定位 ...