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. Jmeter二次开发代码(2)

    /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreem ...

  2. CSS中字距,词距,首行缩进,字体大小,排版相关问题的探讨

    先说明下,这是在谷歌浏览器下字体显示等问题做个研究,火狐下有点差异,不过火狐占有率低,而且显示的没有谷歌那么合理,不管它先.IE卡的要死,半死不活,也懒得深入研究这些细节,字体排版上不是强迫症,差别也 ...

  3. mysql排序,同样的sql,mysql 每次查询结果顺序不一致

    某天项目中写了一句排序sql,但是发现每次执行的结果都不同,就是排序顺序不一样. select * from table_tmp order by printStatus asc,dealTime d ...

  4. Promise async-await 异步解决方案

    1.简介:     async和await在干什么,async用于申明一个function是异步的,而await可以认为是async wait的简写,等待一个异步方法执行完成. 2.基本语法   在C ...

  5. P3373 【模板】线段树 2

    线段树的模板,但是还应注意维护乘标记,乘法的优先级大于加法,一定记得还要取模. #include<bits/stdc++.h> using namespace std; ; struct ...

  6. nginx配置https双向验证(ca机构证书+自签证书)

    nginx配置https双向验证 服务端验证(ca机构证书) 客户端验证(服务器自签证书) 本文用的阿里云签发的免费证书实验,下载nginx安装ssl,文件夹有两个文件 这两个文件用于做服务器http ...

  7. KDJ计算公式

    计算方法编辑KDJ的计算比较复杂,首先要计算周期(n日.n周等)的RSV值,即未成熟随机指标值,然后再计算K值.D值.J值等.以n日KDJ数值的计算为例,其计算公式为n日RSV=(Cn-Ln)/(Hn ...

  8. LOJ#2304 泳池

    题意:有一个1001 * n的矩形,每个位置有q的概率为1.求紧贴下边界的最大的全1子矩形面积恰为k的概率.n <= 1e9,k <= 1000. 解:只需考虑每一列最下面一个0的位置. ...

  9. Hall定理 二分图完美匹配

    充分性证明就先咕了,因为楼主太弱了,有一部分没看懂 霍尔定理内容 二分图G中的两部分顶点组成的集合分别为X, Y(假设有\(\lvert X \rvert \leq \lvert Y \rvert\) ...

  10. NOI2009 管道取珠 神仙DP

    原题链接 原题让求的是\(\sum\limits a_i^2\),这个东西直接求非常难求.我们考虑转化一下问题. 首先把\(a_i^2\)拆成\((1+1+...+1)(1+1+...+1)\),两个 ...