`

SQL语句的练习

 
阅读更多
第一题:查询101课程比102课程成绩高的所有学生的学号
select S ,score from SC where C=101;
select S ,score from SC where C=102;

最终:select a.S from (select S ,score from SC where C=101) a,(select S ,score from SC where C=102) b  where a.score > b.score and a.S=b.S;
总结:如果写成select S from (select S ,score from SC where C=101) a,(select S ,score
from SC where C=102) b  where a.score > b.score and a.S=b.S;
则会报错如下 :Column 'S' in field list is ambiguous
原因:原因:表中包含共同字段'xxxx'
如:select name from a,b where a.id=b.id    因为a、b2表里都有name字段
解决:字段前加上具体表名,如: select a.name from a,b where a.id=b.id

第二题:查询平均成绩大于60分的同学的学号和平均成绩
select S ,avg(score) from SC group by S having avg(score)>60;
总结:having是用来帅选组,where是帅选字段的

第三题:查询所有同学的学号,姓名,选课数,总成绩
select Student.S,Student.Sname,count(SC.C),sum(score) from Student left join SC on Student.S=SC.S group by Student.S,Sname;
总结:注意左连接和右连接的区别

第四题:查询姓“李”老师的个数
select count(distinct(Tname)) from Teacher where Tname like '李%';
总结:注意like的用法

第五题:查询没有学过“张华”老师课的同学的学号,姓名
select Student.S,Student.Sname from Student where S not in (select distinct(SC.S) from SC,Course,Teacher where SC.C=Course.C and Teacher.T=Course.T and Teacher.Tname='张华');
总结:注意not in的用法,在范围里面选择

第六题:查询学过“101”并且也学过编号“102”课程的同学的学号,姓名
select Student.S,Student.Sname from Student,SC where Student.S=SC.S and SC.C =101 and exists(select * from SC as SC_2 where SC.S=SC_2.S and SC_2.C =102);
总结:注意exists的用法:并且存在,即后面的结果与前面的结果有关

第七题:查询学过“张华”老师所教的所有课的同学的学号,姓名
select S,Sname from Student where S in (select S from SC,Course,Teacher where SC.C=Course.C and Teacher.T=Course.T and Teacher.Tname='张华' group by S having count(SC.C)=(select count(C) from course,Teacher where Teacher.T=Course.T and Tname='张华'));
总结:注意count(SC.C)=(select count(C) from course,Teacher where Teacher.T=Course.T and Tname='张华')这句


第八题:查询所有课程成绩小于90分的同学的学号,姓名
select S,Sname from Student where S not in (select Student.S from Student,SC where Student.S=SC.S and score>90);
总结:是所有成绩,所以采用not in,用反面来求

第九题:查询没有学全所有课的同学的学号
select Student.S,Student.Sname from Student,SC where Student.S=SC.S group by Student.S,Student.Sname having count(C)<(select count(C) from Course);

第十题:查询至少有一门课与学号为“3”的同学所学相同的同学的学号和姓名
select Student.S,Student.Sname from Student,SC where Student.S=SC.S and C in(select C from SC where S=3);

第十一题:查询各科成绩最高和最低分:如以下形式显示:课程ID,最高分,最低分
select L.C 课程ID,L.score 最高分,R.score 最低分 from SC L,SC R where L.C=R.C and L.score=(select MAX(IL.score) from SC IL ,Student IM where IL.C=L.C and IM.S=IL.S group by IL.C) and R.score=(select min(IR.score) from SC IR where IR.C=R.C group by IR.C);

第十二题:查询学生平均成绩及名次
select 1+(select count(distinct 平均成绩) from (select S,AVG(score) 平均成绩 from SC group by S )T1 where 平均成绩>T2.平均成绩)名次 ,S 学生学号,平均成绩 from (select S,avg(score) 平均成绩 from SC group by S)T2 order by 平均成绩 desc;


  
  • 大小: 9.5 KB
  • 大小: 5.4 KB
  • 大小: 9.4 KB
  • 大小: 4.8 KB
  • 大小: 1.9 KB
  • 大小: 6.9 KB
  • 大小: 10.6 KB
  • 大小: 3.1 KB
  • 大小: 4.1 KB
  • 大小: 3.4 KB
  • 大小: 3.6 KB
  • 大小: 3.9 KB
  • 大小: 4 KB
  • 大小: 4.7 KB
  • 大小: 8.6 KB
  • 大小: 6 KB
分享到:
评论

相关推荐

    MySQL SQL语句练习题及答案

    MySQL SQL语句练习题及答案 本资源提供了 MySQL SQL 语句的练习题及答案,涵盖了创建表、插入数据、删除数据、更新数据、查询数据等多方面的知识点。 一、创建表 在 MySQL 中,创建表使用 CREATE TABLE 语句。...

    数据库sql语句练习

    数据库SQL语句练习 本资源旨在通过若干SQL语句练习,帮助读者更好地理解数据库的各项数据操作。下面是相关知识点的详细解释: 1. 关系代数和SQL语言查询 在关系代数和SQL语言中,查询至少选修了一门其直接先行课...

    sql语句练习题(带答案版本)

    这是带答案的sql语句练习这是带答案的sql语句练习这是带答案的sql语句练习这是带答案的sql语句练习这是带答案的sql语句练习这是带答案的sql语句练习这是带答案的sql语句练习这是带答案的sql语句练习

    经典的SQL语句练习

    经典的SQL语句练习

    SQL语句练习题及答案

    ### SQL语句强化练习知识点详解 #### 一、简单查询 **知识点1:查询所有记录** - **描述**: 使用 `SELECT * FROM 表名` 可以查询表中的所有记录。 - **示例**: 查询所有学生的信息。 - **SQL语句**: `SELECT * ...

    SQL语句练习题

    SQL 语句练习题 本节课练习题目涵盖了 SQL 语句的各种知识点,旨在考察学生对 SQL 语句的掌握程度。练习题目包括关系运算、定义表操作、查询语句操作、表数据操作、视图操作、授权操作、索引操作、匹配操作和触发器...

    SQL语句练习大全

    DDL用来创建数据库中的各种对象,包括数据库模式、表、视图、索引、同义词、聚簇等,它的基本语句有:CREATE DATABASE、CREATE TABLE、CREATE VIEW、CREATE INDEX等。 (4)数据控制语言(DCL) DCL用来授予或回收...

    SQL语句练习及答案

    根据给定文件中的标题“SQL语句练习及答案”与描述“一个非常适合在笔试前看的SQL练习题。也可在在平时作为SQL语言练习题来使用”,我们可以看出这份材料主要包含了一系列针对SQL语言的练习题及其解答,适用于考前...

    3-SQL.rar_sql语句练习

    SQL语句练习、学生可以查看自学SQL相关语句的练习

    全国计算机二级(vf)sql语句练习

    全国计算机二级(vf)sql语句练习 本资源提供了多种SQL语句练习题,涵盖了基本的数据查询、数据归纳、数据排序、数据筛选等操作。每个练习题都提供了明确的需求和相应的解决方案,帮助学生更好地掌握SQL语句的使用...

    SQL语句练习提高

    【SQL语句练习提高】 在SQL中,查询和操作数据是其核心功能。以下通过给出的练习题目,我们将深入理解SQL的基本句式和用法。 28. 题目要求从`employee`表中抽取部门名称(depart_name),计算平均工资(avg(wage)...

    SQL语句练习系统

    SQL语句练习系统是一款专为学习和提升SQL技能设计的应用,它提供了丰富的练习题和实例,帮助用户深入理解和掌握SQL语言。SQL(Structured Query Language),结构化查询语言,是用于管理关系数据库的标准语言,广泛...

    数据库SQL语句练习

    在这个"数据库SQL语句练习"中,我们可以通过一系列的练习题和PPT讲解来深入理解SQL的基础概念和实际应用。以下是对这些知识点的详细阐述: 1. **SQL简介**:SQL,全称Structured Query Language,即结构化查询语言...

    sql语句练习题单表+多表各四套

    "sql语句练习题单表+多表各四套"提供了一套全面的练习资源,旨在帮助你提升SQL技能,特别是针对MySQL数据库的使用。这个资源包含了四组单表练习题和四组多表练习题,这些题目设计得既实用又具有挑战性,能够让你在...

    SQL语句练习册

    《SQL语句练习册》是一本专为程序员设计的实用教程,旨在帮助他们巩固和提升SQL语言技能。SQL,全称Structured Query Language,是用于管理关系数据库的强大工具,广泛应用于数据查询、更新、插入和删除等操作。对于...

    经典sql语句练习

    "经典sql语句练习"这个压缩包提供了一套适合初学者的基础练习题,可以帮助你更好地理解和运用SQL语言。下面,我们将深入探讨SQL的基本概念、常用语句以及它们在实际中的应用。 SQL,全称为结构化查询语言,是用于...

    oracle经典sql语句练习题和答案

    本资源“oracle经典sql语句练习题和答案”提供了在scott用户下的两个典型表格——emp(员工表)和dept(部门表)的实践操作题目,旨在帮助用户提升SQL技能。 首先,让我们来了解这两个核心表格。`emp`表通常包含...

    Oracle的sql语句练习题及参考答案

    在“Oracle的SQL语句练习题及参考答案”中,我们很可能会遇到各种与`SELECT`语句相关的练习,这是SQL中最基础且最重要的部分。 `SELECT`语句用于从数据库中检索数据,其基本语法结构如下: ```sql SELECT column1,...

    SQL语句练习--数据库

    ### SQL语句练习知识点解析 #### 一、创建数据库与数据表 1. **创建数据库:** - **SQL语句:** `CREATE DATABASE student;` - **知识点解析:** 这条命令用于创建一个新的数据库`student`。在创建数据库时,...

    Orcale的SQL语句练习.zip

    本压缩包中的"Orcale的SQL语句练习.zip"包含了两个SQL脚本文件——SQL_Test.sql和SQL_Test_02.sql,主要是为了帮助学习者熟悉和提高在Oracle环境下使用SQL的能力。以下是针对这些文件中可能涉及的SQL知识点的详细...

Global site tag (gtag.js) - Google Analytics