数据库sql语句题目

MySQL期末复习题(题库) 3abc7, abc73, bc73a, c73ab,*73abc已知课程表kc有三个字段课程号、课程名、学分。学生选课表xs_kc有三个字段课程号、学号、成绩。delimiter@@create procedure count_stu (in cno char(3), ____out ___ stu_num int)beginselect ____count_____(学号) into stu_num from xs_kc where 课程号=___ cid___ group by 课程号;end@@de 阅读详情

1、如何将变量count值赋值为1?

DECLARE @count SELECT @count=1

@表示声明一个局部变量,@@表示声明一个全局变量(比如已经定义好的系统变量)
申明局部变量语法:declare @变量名 数据类型;例如:declare @num int;
赋值:有两种方法式(@num为变量名,value为值) set @num=value;
或 select @num=value;

2、有一个学生表,有三个字段: name 、 course 、 score ,每一个学生都有三门课程,比如数学、语文、英语,写 sql 语句,查找出三门课程的成绩都大于 80 的学生。

//方法1
select distinct name from student_grade
group by name
having MIN(score)>80

//方法2
select distinct name
from student_grade
where score>80
group by name
having COUNT(distinct(course))=3

//查询每个学生>80的课程数目
SELECT name,COUNT(*) as count
from student_grade 
where score > 80 
GROUP BY name

以下题目基于表:

Student(S#,Sname,Sage,Ssex)学生表
S#:学号 ,Sname:学生姓名 ,Sage:学生年龄 ,Ssex:学生性别
Course(C#,Cname,T#)课程表
C#:课程编号, Cname:课程名称, T#:教师编号
SC(S#,C#,score)成绩表
S#:学号 ,C#:课程编号 ,score:成绩
Teacher(T#,Tname)教师表
T#:教师编号 ,Tname:教师名字

3、查询“001”课程比“002”课程成绩高的所有学生的学号

select a.S# from
(select S#,score from SC where C#=1)a,
(select S#,score from SC where C#=2)b
where a.score>b.score and a.S#=b.S#

4、查询平均成绩大于60分的同学的学号和平均成绩

select AVG(score) as avgScore,S#
from SC
group by S#
having AVG(score)>60

5、查询所有同学的学号、姓名、选课数、总成绩

left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的. 换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID).B表记录不足的地方均为NULL.

INNER JOIN 产生的结果是AB的交集
FULL [OUTER] JOIN 产生A和B的并集。对于没有匹配的记录,则会以null做为值。

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

6、查询姓‘李’的老师的个数

select COUNT(distinct(Tname))
from Teacher
where Tname like '李%'

7、查询没有学过“叶平”老师可的同学的学号、姓名

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='叶平')

8、查询学过“叶平”老师所教的所有课的同学的学号、姓名

select student.S#,student.Sname
from student
where S# in

(select S# from SC,Teacher,Course
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='叶平'))

9、查询学过“1”并且也学过编号“2”课程的同学的学号、姓名

select student.S#,student.Sname
from student
where S# in

(select S# from SC,Course
where SC.C#=Course.C# and SC.C#=1)
 and S# in
 (select S# from SC,Course
where SC.C#=Course.C# and SC.C#=2)

10、查询课程编号“2”的成绩比课程编号“1”课程低的所有同学的学号、姓名

Select S#,Sname 
from (select Student.S#,Student.Sname,score ,
(select score from SC SC_2 
where SC_2.S#=Student.S# and SC_2.C#='2') score2    
from Student,SC 
where Student.S#=SC.S# and C#='1') S_2 
where score2 <score; 

11、查询课程成绩小于90的同学的学号、姓名

select S#, sname 
from student 
where s# not in 
(select student.s# from student, sc where student.s# = sc.s# and score>90)

12、创建病人表R(住院号,姓名,性别,科室号,病房,家庭住址)

create table R(
住院号 char(8) primary key,
姓名 char(10),
性别 char(1) check(性别 in ('M','F')),
科室号 char(4),
病房 char(4),
家庭住址 char(30),
foreign key (科室号) references D(科室号)
)

13、收回用户ZHAO对学生表(STUD)中学号(XH)的修改权

--revoke <权限> on <对象> from <用户>
revoke update(XH) on STUD from ZHAO

14、某大型集团公司的数据库的部分关系模式如下:
员工表:EMP(Eno,Ename,Age,Sex,Title),各属性分别表示员工工号、姓名、年龄、性别和职称级别,其中性别取值为“男”“女”;
公司表:COMPANY(Cno,Cname,City),各属性分别表示公司编号、名称和所在城市;
工作表:WORKS(Eno,Cno,Salary),各属性分别表示职工工号、工作的公司编号和工资。
有关关系模式的属性及相关说明如下:
(1)允许一个员工在多家公司工作,使用身份证号作为工号值。
(2)工资不能低于1500元。
根据以上描述,回答下列问题:
【问题1】(4分)
创建工作关系,指定主码、外码,以及工资不能低于1500元的约束。

create table WORKS(
Eno char(10) References EMP(Eno),
Cno char(10) References COMPANY(Cno),
Salary int check(Salary>=150),
Primary key(Eno,Cno)
)

【问题2】(6分)
(1)创建女员工信息的视图FemaleEMP,属性有Eno、Ename、Cno、Cname和Salary,请将下面SQL语句的空缺部分补充完整。

create view FemaleEMP(Eno,Ename,Cno,Cname
    ,Salary)
as
select EMP.Eno,Ename,COMPANY.Cno,Cname,Salary
from EMP,COMPANY,WORKS
where WORKS.Eno=Emp.Eno and WORKS.Cno=
    COMPANY.Cno and Sex='女'

(2)员工的工资由职称级别的修改自动调整,需要用触发器来实现员工工资的自动维护,函数float Salary_value(char(10) Eno)依据员工号计算员工新的工资。请将下面SQL语句的空缺部分补充完整。

create trigger Salary_TRG on EMP after update 
--oracle关键字,sql server无法识别
referencing new row as nrow 
for each row
begin
    update WORKS
    set Salary=Salary_value(nrow.Eno)
    where nrow.Eno=WORKS.Eno
end

【问题3】(5分)
请将下面SQL语句的空缺部分补充完整。
(1)查询员工最多的公司编号和公司名称。

select COMPANY.Cno,Cname
from COMPANY,WORKS
where COMPANY.Cno=WORKS.Cno
group by COMPANY.Cno,Cname
having COUNT(*)>=ALL(
    select COUNT(*) from WORKS Group by Cno)

(2)查询所有不在“中国银行北京分行”工作的员工工号和姓名。

select Eno,Ename
from EMP
where Eno not in(
select Eno from WORKS,COMPANY
where WORKS.Cno=COMPANY.Cno 
    and Cname='中国银行北京分行')

15、补充定义员工关系模式的实体完整性约束和参照完整性约束

alter table 员工 add constraint PK_员工 
    primary key(员工编号)
alter table 员工 add constraint FK_员工
    foreign key(部门) references 部门(部门编号)

16、查询存在两门(包含两门)以上课程不及格的学生姓名

select Sname from student
where S# in(
select S# from SC where score<60 
group by S#
having COUNT(C#)>=2)

17、查询两门以上不及格课程的同学的学号及其平均成绩

select S#,AVG(score)
from SC
where S# in(
select S#
from SC where score<60 
group by S#
having COUNT(C#)>=2)
group by S#

18、查询没学过”叶平”老师讲授的任一门课程的学生姓名

select Sname
from student 
where S# not in 
(select S# from Course,Teacher,SC 
where Course.t#=Teacher.t# and SC.c#=Course.c# 
and Tname='叶平')

19、统计每门课程的学生选修人数(超过5人的课程才统计)。要求输出课程号和选修人数,查询结果按人数降序排序,若人数相同,按课程号升序排序

select c# as 课程号,count(*) as 人数
from sc 
group by c#
having count(*)>=5
order by count(*) desc,C# asc 

20、查询每门课程成绩最好的前两名

select t1.s# as 学生号, t1.c# as 课程号,
    t1.score as 分数
from SC t1
where score in(
    select top 2 score from SC
    where sc.C#=t1.C# 
    order by score desc)
order by t1.C#,score desc

21、查询不同课程成绩相同的学生和学号、课程号、学生成绩

select distinct a.s#,a.c#,a.score,b.s#,b.c#
from SC a,SC b
where a.score=b.score and a.C#<>b.C# 
    and a.S#<>b.s#

注:存在重复语句,如 1 1 67 5 6 和 5 6 67 1 1

22、查询选修“叶平”老师所授课程的学生中,成绩最高的学生姓名及其成绩

select student.Sname,score
from student,SC,Course c,Teacher t
where student.S#=sc.S# and sc.C#=C.C# 
    and t.T#=c.T# and Tname='叶平'
    and score=(
        select MAX(score) from SC where C#=c.C#)

23、查询平均成绩大于85的所有学生的学号、姓名和平均成绩

select sname 姓名,sc.S# 学号,AVG(score)平均成绩
from student,SC
where student.S#=sc.S#
group by sc.s#,Sname
having AVG(score)>85

24、创建账户关系的SQL语句

create table 账户(
账户号 char(19) primary key,
客户号 char(19) foreign key(客户号) 
    references 客户(客户号),
开户支行号 char(6) not null,
余额 decimal check(余额>1.00),
状态 varchar(6) check (状态 in('待处理','审理中')) default '待处理'
)

25、为账户关系增加属性“账户标记”,缺省值为0,取值类型整数

alter table 账户 add 账户标记 int default 0

26、将表的查询权限授予用户U1和U2,并允许其将此权限授予他人

grant select on table student to U1,U2 
    with grant option

27、删除表上的约束

alter table <table_name> drop <constrant_name>

28、查询搭乘时期在2012年,且合计购票金额不少于10000元的旅客身份证、姓名、购票金额总和,并按总和降序输出。

select 旅客.身份证号,姓名,SUM(购票金额)
from 旅客,购票
where 旅客.身份证号=购票.身份证号 and 搭乘日期 
    between '2012/1/1' and '2012/12/31'
group by 旅客.身份证号,姓名
having SUM(购票金额)>=10000
order by SUM(购票金额) desc

29、增加“最小库存”属性,存储器:修改库存后(<=最小库存值),向采购表增信息,数量=最小库存*2+10

alter table 商品 add 最小库存 int
create trigger 采购_trigger on 商品 after update
referencing new row as nrow
for each row
when nrow.库存<=最小库存
begin
    insert into 采购
    values(nrow.商品号,nrow.最小库存*2+10)
end

30、info 表
date result
2005-05-09 win
2005-05-09 lose
2005-05-09 lose
2005-05-09 lose
2005-05-10 win
2005-05-10 lose
2005-05-10 lose
如果要生成下列结果, 该如何写sql语句?
   win lose
2005-05-09 2 2
2005-05-10 1 2

select date1,SUM(case when result='win' 
    then 1 else 0 end) as win,
SUM(case when result='lose' 
    then 1 else 0 end) as lose
from info
group by date1

31、表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列

select 
(case when a>b then a else b end),
(case when b>c then b else c) 
from table

32、选取前5行数据。选取3-7行数据。

--选取前5行数据
①SET ROWCOUNT 5
   select * from info
②select top 5* from info

--选取3-7行数据
--原理:
--先按date1进行排序,排序完后,给每条数据进行编号。
with t as 
    (select row_number() 
        over(order by date1) as row_no,* 
    from info)
select *
from t
where row_no >3 and row_no<7

这里写图片描述

33、选取总成绩排名前十的学生

select top 10 name as 姓名,SUM(score) as 总分
from student_grade 
group by name
order by 总分 desc
50道sql题 文章目录一、表描述二、建表语句三、练习题9、 查询和" 01 "号的同学学习的课程完全相同的其他同学的信息 一、表描述 1.学生表 Student(S#,Sname,Sage,Ssex) –S# 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 –2.课程表 Course(C#,Cname,T#) –C# --课程编号,Cname 课程名称,T# 教师编号 –3.教师表 Teacher(T#,Tname) –T# 教师编号,Tname 教师姓名 –4.成绩表 SC(S#,C#,scor 阅读详情

相关推荐

数据库SQL语句题目实训

数据库SQL语句题目实训题目所涉及的表:题目分类:单表查询集合查询多表查询嵌套查询总结 题目所涉及的表: . . 学生表:Student(Sno,Sname,Ssex,Sage,Sdept) 课程表:Course(Cno,Cname,Cpno,Ccredit) 学生选课表:SC(Sno,Cno,Grade) . . 题目分类: . 具体题目后的【】内容为题目主要所涉及到的知识点。 . 单表查询 . 1. 查询全体学生的信息。【查询全部列】 select * from Student . 2.

Aquarius'33 7091

2020-12-16

USE TSGL CREATE TABLE CARD (CNO NCHAR(6), NAME NCHAR(6), CLASS NCHAR(15), PRIMARY KEY(CNO)); CREATE TABLE BOOKS (BNO NCHAR(6), BNAME NCHAR(15), AUTHOR NCHAR(15), PRICE MONEY, QUANTITY INTERGER, PRIMARY KEY(BNO)); CREATE TABLE BORROW (CNO NCHAR(6), BNO NCHA

deanqiyi的博客 62万+

数据库三级考试真题 SQL语句查询真题汇总

数据库三级考试真题 SQL语句查询真题汇总

qq_51175813的博客 859

数据库题库选择题

单项选择题 第1题 SQL中的视图机制提高了数据库系统的( )。 A 完整性 B 并发控制 C 隔离性 D 安全性 (答案) 得分: /1.0 第2题 下述( )不是DBA数据库管理员的职责。 A 完整性约束说明 B 定义数据库模式 C 数据库安全 D 数据库管理系统设计 (答案) 得分: /1.0 第3题 下列四项中,不属于数据库系统特点的是( ) 。 A 数据共享 B 数据完整性 C 数据冗余度高 (答案) D 数据独立性高 得分: /1.0 第4题 设有关系模式R(S,D,M),其函数依赖集:F

代码是程序员的语言,博客是思想的桥梁,连接你我,共享智慧之光。 9346

Azure数据库服务比较:SQL Database vs Cosmos DB

结构化数据场景:如订单管理、用户认证等需要强事务支持的业务非结构化/半结构化场景:如物联网设备日志、社交网络数据、实时推荐系统:基于传统关系型数据库(SQL Server)的云原生服务,支持ACID事务和复杂SQL查询Cosmos DB:全球分布式NoSQL数据库,支持多模型(文档、键值、图、宽列)和弹性扩展两者的架构设计哲学有何本质区别?数据建模和查询语言的差异如何影响开发体验?一致性、可用性、吞吐量的权衡模型如何选择?典型业务场景下的选型决策依据是什么?技术原理对比。

AI云原生与云计算技术学院 1967

SQL高级语句-CREATE DATABASE 用于创建数据库。

CREATE DATABASE 语句 CREATE DATABASE 用于创建数据库。 SQL CREATE DATABASE 语法 CREATE DATABASE database_name SQL CREATE DATABASE 实例 现在我们希望创建一个名为 "my_db" 的数据库。 我们使用下面的 CREATE DATABASE 语句: CREATE

qq_35144470的博客 2859

研发笔试题目+Sql数据库索引优化语句

研发笔试题目+Sql数据库索引优化语句

YZYKJY的博客 1223

【SQL高级(五)】【SQL CREATE DATABASE 语句+SQL CREATE TABLE 语句】

本章主要内容:SQL CREATE DATABASE 语句(SQL CREATE DATABASE 实例),SQL CREATE TABLE 语句(SQL CREATE TABLE 实例)

LinGavinQ 836

一个数据库题目理解所有的sql语句

一个数据库题目理解所有的sql语句。

jakelihua 328

深入解析 TDA4VM/VH R5F 核中断机制:VIC 与非 VIC 模式下的实战对比与优化

本文深入解析了TI TDA4VM/VH平台中ARMv7-R架构R5F核的两种中断处理机制:VIC模式与非VIC模式。通过对比硬件自动跳转与软件向量表分发的核心流程、实战代码示例及性能差异,为开发者提供了基于实时性、灵活性与调试需求的选择指南和优化建议,帮助构建更稳定的嵌入式系统。

weixin_29159441的博客 98

如何使用Dify 搭建一个用自然语言查询数据库的 Agent?

这样就会发布完毕。

AI Agent 首席体验官 1698

从ISO 17987到SAE J2602:LIN一致性测试标准全景解读与CANoe实现

本文深入解析了从ISO 17987到SAE J2602的LIN一致性测试标准技术演进,详细对比了两大标准体系的技术差异,并基于Vector CANoe平台演示了如何构建符合最新行业要求的自动化测试方案。文章重点介绍了SAE J2602标准的三大改进点,包括唤醒特性、传输层协议和诊断服务的增强测试要求,并提供了CANoe测试环境配置、测试模块集成及测试案例解析的实战指南。

app77的博客 334

一道关于T-SQL语句的数据库题目

  请教我写出有关如下要求的T-SQL语句超市应用系统数据库一 设计目的设计一个超市收银系统的部分数据库结构。二 设计要求系统中要求有对商品 会员 销售情况的统计。三 概要说明1 对商品信息包括:名称 成本价 销售价 产地计量单位 供应商。2 对会员信息包括:姓名 性别 年龄 家庭住址 联系电话。对于销售表应分为两个,一个是当日销售表,一个是历史销售表。

qbm361的专栏 702

JAVA:Spring Boot3 集成 Spring AI 实现 Skill 开发

本文介绍了如何通过Spring Boot和Spring AI实现大模型技能(Skill)开发,让AI具备调用业务系统能力。文章首先解释了Skill的概念,即AI可调用的业务能力,如查询订单、天气等,并展示了执行流程和整体架构。然后详细介绍了实践样例,包括技术版本、Maven依赖配置、AI服务设置、ChatClient创建和Skill技能注册中心的实现。注册中心提供了技能的注册、查询、启用/禁用等功能,支持按类别管理技能,并能够获取所有可用技能列表。通过这种方式,开发者可以轻松为大模型扩展业务功能调用能力。

木头 621

高质量文献综述原来这么写!借助Gemini 3 Pro+四步法,手把手教你写出有逻辑深度的综述

总结与展望先总结现状,说明前人已经做到什么地步了,再指出缺口,前人没解决什么问题、方法有什么局限等等,最后再在这个缺口的基础上,提出你的未来研究方向。当你有个复杂的研究题目,但没办法拆解出关键词,就可以让Gemini 3 Pro来辅助帮你拆解,并帮你写专业的检索式,若是找英文文献,还能帮你将中文关键词翻译成地道的专业术语。做文献笔记,可以建立文献笔记矩阵,可以用Excel建个表格,横向是文献,纵向是关键要素,包括作者/年份、研究问题/假设、理论框架/模型、研究方法/数据来源、核心结论、局限性/Gap。

智能AI让学术科研更容易 990

一道经典的数据库sql语句题目

SQL查询题目 &lt;!--列表视图页显示缩略图和文章摘要--&gt;&lt;!--文章视图页显示全部内容--&gt;&lt;!--如果有内容,显示内容--&gt;   SQL查询题目   条件: Student(Sno,Sname,Sage,Ssex) 学生表 Course(Cno,Cname,Tno) 课程表 SC(Sno,Cno,score) 成绩表(选课表) Teach...

a294460620的专栏 430

如何程序化的将 Wire 文件转换成 STEP、CATIA、DWG、NX、FBX 等格式

Wire 文件是专有格式,只有 Autodesk Alias 软件能够直接打开和编辑。 虽然可以在 Alias 软件中手动打开文件并导出为 STEP,但在实际工作中,经常会遇到需要转换数十甚至数百个文件的场景。如果每次都手动操作软件进行转换,不仅效率低下,还容易出错,批量场景下会非常麻烦。因此,程序化、自动化的转换方案变得至关重要。

weixin_44211633的博客 450

SQL查询语句|PTA题目集

SQL查询语句|PTA题目集

m0_74667810的博客 1167

仿真学习系列(四十二):Sigrity仿真之走线阻抗和耦合检查

在高速电路设计中,走线的阻抗和信号线之间的耦合是影响信号完整性的重要因素。设计中可能会出现多种情况,导致阻抗变化或不匹配,例如线宽的变化、跨层分割等。传统的人工检查方法常常不够高效且易忽视细节。借助仿真软件,可以快速定位问题区域,并进行精确分析,从而有效避免或减少信号反射和串扰带来的影响。

案例文章,高速信号 425

【ComfyUI 基础教程】ComfyUI 局部重绘工作流教程

本篇指南将带你了解 ComfyUI 中的局部重绘工作流,并带你完成一个局部重绘的示例,以及遮罩编辑器的使用等。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 302

一些常用的sql语句练习题目及答案

[PS]本人从网上找到的一些面试sql题目,如有不足之处,敬请谅解,可以先拷贝建表语句sql来进行建表,再尝试做一下题目。 建表sql语句: create table student( sno varchar(10) primary key, sname varchar(20), sage int(2), ssex varchar(5) ); create table teacher( t...

qq_37730370的博客 2166

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Python通过ibm_db模块进行DB2数据库SQL语句执行及结果返回

执行SQL语句 方法一: 语法: 调用ibm_db.prepare()函数并传递以下参数: 1.从ibm_db.connect()或ibm_db.pconnect()函数返回的有效数据库连接资源; 2.包含SQL语句的字符串,包括需要变量输入的任何列或谓词值的参数标记(?)。该字符串可以包含由XMLQUERY子句包装的XQuery表达式 3.ibm_db.execute()执行SQL语句 im...

weixin_42970378的博客 8895

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

DB Query Analyzer 中断SQL语句的执行

DB Query Analyzer 中断SQL语句的执行                                                马根峰                     ( 广东联合电子收费股份有限公司, 广州 510300) 摘要:     万能数据库查询分析器有两个版本:DB 查询分析器(中文版本)和 DB Query Analyzer(英文版本)。它不仅能

《万能数据库查询分析器》创作人 2655

数据库-SQL语句创建与修改

文章目录SQL语句创建数据库例子SQL语句修改数据库例子ALTER DATABASE语句的语法如下子句的语法如下: SQL语句创建数据库 例子 CREATE DATABASE NewsDB ON PRIMARY ( NAME=NewsDB, FILENAME='D:\XXXX\NewsDB.mdf', SIZE=10MB, MAXSIZE=30MB, FILEGROWTH=10% ) LOG ON ( NAME = NewsDB_log, FILENAME = 'D:\XXXX\New

小旺的博客 5094
上一篇: 数据库基础
下一篇: 数据库问答类题目1
ka_ko
博客等级 码龄11年 168粉丝 94原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值