查询刘同学没选的课程的课程号

hrlhrl0 2010-05-10 06:24:01
我这样写
select Cpno
from Course
except
select Sname
from Student,SC
where
SC.Sno=Student.Sno and Student.Sname like '刘%'
;

CREATE TABLE Student
(Sno CHAR(9) PRIMARY KEY,
Sname CHAR(20) UNIQUE,
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(15));
CREATE TABLE Course
(Cno CHAR(4) PRIMARY KEY ,
Cname CHAR(40) ,
Cpno CHAR(4) ,
Ccredit SMALLINT ,
FOREIGN KEY (Cpno) REFERENCES Course(Cno));
CREATE TABLE SC
(Sno CHAR(9) ,
Cno CHAR(4) ,
Grade SMALLINT ,
PRIMARY KEY(Sno, Cno) ,
FOREIGN KEY (Sno) REFERENCES Student(Sno),
FOREIGN KEY (Cno) REFERENCES Course(Cno));
有语法或逻辑错误


检索全部学生都选修的课程的课程号、课程名
帮改改。
...全文
716 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
htl258_Tony 2010-05-10
  • 打赏
  • 举报
回复
我可是边吃边回,正确你要帮我结贴哦,看不懂怕怕就会消化的。
hrlhrl0 2010-05-10
  • 打赏
  • 举报
回复
强大啊,就是看不懂
htl258_Tony 2010-05-10
  • 打赏
  • 举报
回复
SELECT a.Cno,a.Cname
FROM Course A
JOIN SC B ON A.Cno=B.Cno
GROUP BY a.Cno,a.Cname
HAVING count(DISTINCT b.sno)=(SELECT count(1) FROM Student)
晕倒,b.sno
hrlhrl0 2010-05-10
  • 打赏
  • 举报
回复

SELECT A.Cno,Cname
FROM Course A
JOIN SC B ON A.Cno=B.Cno
GROUP BY A.Cno,Cname
HAVING count(DISTINCT sno)=(SELECT count(1) FROM Student)
这样可以通过
htl258_Tony 2010-05-10
  • 打赏
  • 举报
回复
SELECT a.Cno,a.Cname
FROM Course A
JOIN SC B ON A.Cno=B.Cno
GROUP BY a.Cno,a.Cname
HAVING count(DISTINCT a.sno)=(SELECT count(1) FROM Student)
hrlhrl0 2010-05-10
  • 打赏
  • 举报
回复
服务器: 消息 209,级别 16,状态 1,行 1
列名 'Cno' 不明确。
服务器: 消息 209,级别 16,状态 1,行 1
列名 'Cno' 不明确。
htl258_Tony 2010-05-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 hrlhrl0 的回复:]
你那样对了
是2000的,能说下为什么吗
[/Quote]2000的不支持EXCEPT关键字
hrlhrl0 2010-05-10
  • 打赏
  • 举报
回复
你那样对了
是2000的,能说下为什么吗
htl258_Tony 2010-05-10
  • 打赏
  • 举报
回复
--1.
select Cno
from Course t
where not exists(
select 1
from Student,SC
where SC.Sno=Student.Sno
and t.cno=sc.cno
and Student.Sname like '刘%')
htl258_Tony 2010-05-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hrlhrl0 的回复:]
我也是这样的

在关键字 'except' 附近有语法错误。
[/Quote]难道你是SQL2000
htl258_Tony 2010-05-10
  • 打赏
  • 举报
回复
--2.不知有没有误解,你试试

SELECT Cno,Cname
FROM Course A
JOIN SC B ON A.Cno=B.Cno
GROUP BY Cno,Cname
HAVING count(DISTINCT sno)=(SELECT count(1) FROM Student)
hrlhrl0 2010-05-10
  • 打赏
  • 举报
回复
我也是这样的

在关键字 'except' 附近有语法错误。
htl258_Tony 2010-05-10
  • 打赏
  • 举报
回复
--1
select Cno
from Course
except
select Cno
from Student,SC
where SC.Sno=Student.Sno and Student.Sname like '刘%'

此为吉林大学数据库的实验报告,实验内容为: 实验一 熟悉MySQL环境及SQL定义语言 一、实验目的: 1. 了解MySQL程序构成、安装、管理方法。 2. 了解MySQL数据库及表结构。 3. 熟练掌握SQL语言进行基本表结构的创建。 4. 熟练应用SQL语言进行表结构的修改。 5. 掌握SQL语言进行基本表的删除。 6. 掌握SQL语言进行索引的建立和删除。 二、实验内容和主要步骤: 1. 参考“MYSQL简体中文参考文档.chm”,熟悉MySQL构成和功能特性。 2. 打开Windows服务管理器,实验启动、停止MySQL服务,了解MySQL的服务管理方法; 3. 打开“MySQL管理控制台.bat”,熟悉控制台中操作数据库; 4. 利用控制台创建“Student数据库”。 5. 打开“Student”数据库,创建如下三个表,按下面的列表中的字段名(英文)、类型和宽度建立: 7. 用SQL语言CREATE TABLE语句创建学生表student、课程表course和选课表SC;(字段类型及长度参照实验一) 8. 用SQL语言ALTER语句修改表结构; a) STUDENT表中SNO设为非空和唯一; b) STUDENT表中增加一个字段SBIRTH,类型设置为日期时间类型,增加一个ADDRESS字段,类型为文本(字符); c) 删除STUDENT表中ADDRESS字段; d) COURSE表中CNO字段设为非空和唯一; 9. 重新定义一个简单表,然后用SQL语言DROP语句删除该表结构; 10. 用SQL语言CREATE INDEX语句定义表STUDENT的SNAME字段的降序索引; 11. 用SQL语言CREATE INDEX语句定义表SC的GRADE字段的升序索引; 12. 用SQL语言DROP语句删除索引; 13. 输入部分数据,并试着修改其中的错误; 注: 实验二 SQL语言进行简单查询 一、实验目的: 1. 掌握SQL查询语句的一般格式 2. 掌握简单数据查询操作。 3. 熟练掌握各种查询条件的表示。 4. 掌握排序和分组操作在SQL语句中的实现。 5. 掌握集函数的使用。 二、实验内容和主要步骤: 1. 创建学生表student、课程表course和选课表SC,并输入数据(注意数据的完整性。);(可以使用实验一中已经建立的表和数据) 2. 对各表中的数据进行不同条件的查询; 1) 查询全体学生的学和姓名 2) 查询全体学生的详细记录 3) 查询所有选修过课程的学生学 4) 查询考试有不及格的学生学 5) 查询不是信息系(IS)、计算机系(CS)的学生性别、年龄、系别 6) 查询选修了4课的学生学和成绩,结果按成绩降序排列 7) 查询每个课程和相应的选课人数 8) 查询计算机系(CS)的学生姓名、年龄、系别 9) 查询年龄18-20岁的学生学、姓名、系别、年龄; 10) 查询姓刘的学生情况 11) 查询既选修1课程,又选修2课程的学生学 12) 查询学生的姓名和出生年份(今年2003年) 13) 查询没有成绩的学生学课程 14) 查询总成绩大于200分的学生学 15) 查询每门课程不及格学生人数 16) 查询不及格课程超过3门的学生学 17) 查询年龄在10到19岁之间的学生信息 18) 查询全体学生情况,按所在系升序排列,同一个系的学生按年龄降序排列 19) 查询选了1课程的学生平均成绩 20) 查询选了3课程的学生的最高分 21) 查询每个同学的总成绩 实验三 SQL进行复杂查询 一、实验目的: 1. 熟练掌握各种连接查询及其连接条件。 2. 掌握各种嵌套查询的使用。 3. 掌握复杂的集合查询。 二、内容和主要步骤: 1.实验一中的数据为基础 2.对各表中的数据进行不同条件的连接查询和嵌套查询; 1) 查询每个学生及其选课情况; 2) 查询每门课的间接先修课 3) 将STUDENT,SC进行右连接 4) 查询有不及格的学生姓名和所在系 5) 查询所有成绩为优秀(大于90分)的学生姓名 6) 查询既选修了2课程又选修了3课程的学生姓名、学; 7) 查询和刘晨同一年龄的学生 8) 选修了课程名为“数据库”的学生姓名和年龄 9) 查询其他系比IS系任一学生年龄小的学生名单 10) 查询其他系中比IS系所有学生年龄都小的学生名单 11) 查询选修了全部课程的学生姓名 12) 查询计算机系学生及其性别是男的学生 13) 查询选修课程1的学生集合和选修2课程学生集合的差集 14) 查询李丽同学不学的课程课程 15) 查询选修了3课程的学生平均年龄 16) 求每门课程学生的平均成绩 17) 统计每门课程的学生选修人数(超过3人的才统计)。要求输出课程和选修人数,结果按人数降序排列,若人数相同,按课程升序排列 18) 查询比刘晨大,而年龄比他小的学生姓名。 19) 求年龄大于女同学平均年龄的男同学姓名和年龄 20) 求年龄大于所有女同学年龄的男同学姓名和年龄 21) 查询至少选修了95002选修的全部课程的学生码 22) 查询95001和95002两个学生都选修的课程的信息 实验四 SQL的常用数据更新操作 一、实验目的: 1. 熟练掌握SQL的常用数据更新操作。 2. 熟练应用INSERT,UPDATE,DELETE语句。 3. 掌握更新操作的各种格式。 二、实验内容和主要步骤 1. 应用INSERT,UPDATE,DELETE语句进行更新操作; 1) 插入如下学生记录(学:95030,姓名:李莉,年龄:18) 2) 插入如下选课记录(95030,1) 3) 计算机系学生年龄改成20 4) 数学系所有学生成绩改成0 5) 把低于总平均成绩的女同学成绩提高5分 6) 修改2课程的成绩,若成绩小于75分提高5%,成绩大于75时提高 7) 4%(两个语句实现,注意顺序) 8) 删除95030学生信息 9) 删除SC表中无成绩的记录 10) 删除张娜的选课记录 11) 删除数学系所有学生选课记录 12) 删除不及格的学生选课记录 13) 查询每一门课程成绩都大于等于80分的学生学、姓名和性别,把值送往另一个已经存在的基本表STU(SNO,SNAME,SSEX)中 14) 把所有学生学课程连接追加到新表中 15) 所有学生年龄增1 16) 统计3门以上课程不及格的学生把相应的学生姓名、系别追加到另外一个表中 2.熟练掌握INSERT,UPDATE,DELETE语句并能综合应用;
前 言 visual basic继承了basic语言易学易用的特点,特别适合于初学者学习windows系统编程。随着21世纪信息社会的到来,计算机在人们的工作和生活中的深入,要求我们越来越多地与计算机打交道,为了使用户在繁忙的日程工作中得到放松,于是出现了各种各样的休闲软件,如聊天工具,游戏等等。于是我们小组着手设计开始一个这样的游戏软件。通过这学期来Visual Basic的学习,我初步掌握了Visual Basic语言的最基本的知识,于是在化希耀张兵等老师的指导下动手用Visual Basic编写俄罗斯方块游戏。 无可争议,《俄罗斯方块》是有史以来最伟大的游戏之一。它是永恒的娱乐经典,但它实际上又和那些传统的经典娱乐方式不同,因为它的本质是电子化的,所以它的确属于现代产物。《俄罗斯方块》举世闻名的游戏性,在该游戏新鲜出炉时就显得非常直观。某些与坠落的玩具碎片和它们的形状有关的东西,使得哪怕新手也会很自然地企图把它们排列起来,并加以适当组合,就好似《俄罗斯方块》触动了我们某些内在的感官,使得哪怕是我们当中最杂乱无章的人也要把事情整理妥当。 在曾经发布过的所有游戏中,《俄罗斯方块》还被认为是仅有的一个能够真正吸引广泛人群的作品。某些批评家也许会声称,《俄罗斯方块》要比过去二十年间出现的任何东西都要浪费人们的时间。至于我们,则要欣然提名它为GameSpot评选出的历史上最伟大游戏之一。 为了怀念经典,也为了能够给大多的计算机用户在工作之余找到一个休闲、娱乐的一个方式,我们小组开始着手用VB语言开发一个经典的俄罗斯方块游戏。 工程概况 1.1 项目名称 俄罗斯方块游戏 1.2 设计平台 VB 全称Visual Basic,它是以Basic语言作为其基本语言的一种可视化编程工具。 Vb是microsoft公司于1991年退出的windows应用程序开发工具visual意思是“可视化的”。在它刚推出来时,自身还存在一些缺陷,功能也相对少一些。但是经过多年的开发研究。最近microsoft公司又推出了VB6.0版本 VB6.0运行环境:硬件,要求486以上的处理器、16MB以上内存,50MB 以上的硬盘,cd-rom驱动器,鼠标。软件:要求windows 95以上版本。 1.3程序设计思想 游戏是用来给大家娱乐的,所以要能在使用的过程中给大家带来快乐,消除大家的疲劳,所以我们在游戏中添加了漂亮的场景和动听的音乐,设置了过关升级的功能,激发大家的娱乐激情。 从游戏的基本玩法出发,主要就是俄罗斯方块的形状和旋转,我们在设计中在一个图片框中构造了一个4*4的网状小块,由这些小块组合成新的形状,每四个小块连接在一起就可以构造出一种造型,因此我们总共设计了7中造型,每种造型又可以通过旋转而变化出2到4种形状,利用随机函数在一个预览窗体中提前展示形状供用户参考,然后将展示的形状复制到游戏窗体中进行摆放,在游戏窗体中用户就可以使用键盘的方向键来控制方块的运动,然后利用递归语句对每一行进行判断,如果有某行的方块是满的,则消除这行的方块,并且使上面的方块自由下落,其中,方块向下的速度是有时钟控件控制的,在游戏中,用户也可以使用向下键加快下落速度,定义一个变量,对消除的函数进行记录,最后就可以得出用户的分数,用if 语句对分数判断,达到一定的积分就可以升级到下一个档次。 俄罗斯方块游戏设计的主要步骤为以下10个方面: (1)游戏界面的设计。 (2)俄罗斯方块的造型。 (3)俄罗斯方块的旋转。 (4)俄罗斯方块的运动情况(包括向左,向右和向下)。 (5)俄罗斯方块的自动消行功能。 (6)游戏级别的自由选择。 (7)游戏速度的自由选择。 (8)游戏得分的计算。 (9)游戏菜单选项的设计及功能实现。 (10)游戏的背景音乐。 1.4运用的控件和主要对象 我们在设计过程中主要用到的控件有:command控件,image控件,picture控件,label控件,timer控件,text控件,windows media player控件等等。 1.5主要实现的功能 我们开发的俄罗斯方块游戏,主要实现了以下几种功能: 1.可以灵活控制方块在图形框中运动。 2.游戏过程中方块可以自由旋转。 3.当某一行的方块排列满时,将自动将这一行方块消除,然后将上面所有方块向下移动,可以支持连续消行。 4.游戏前可以选择游戏的速度和游戏的等级,游戏速度既为方块下落速度,游戏等级为初始游戏时在基层随机生成一定行数的无规律方块,生成的行数由你来选择,每行至少产生5个以上的无规律方块,这样增加了游戏难度,对于游戏高手来说,无疑不是一个新的挑战。 5.游戏的得分支持积分,并且按照公式: 得分 = 原来分数+ 100 * (2 ^ 同时消除的行数-1) 这样,你同一时间消除
目 录 一、设计要求………………………………………………………2 二、总体设计方案…………………………………………………2 三、电气设计………………………………………………………6 四、PLC设计 ………………………………………………………8 五、调试过程与结果………………………………………………11 六、心得体会………………………………………………………12 七、参考书目………………………………………………………13 课程设计内容 一、设计要求 1. 控制要求 (1)变频调速器受数字量控制: 第一档输出频率为 0HZ,对应同步转速为 0 r/min; 第二档输出频率为 50HZ,对应同步转速为 1500 r/min; 第三档 输出频率为 100HZ,对应同步转速为 3000 r/min; 输入电压与输出频率按线性关系变化。 (2)要求输出转速按下图1函数变化,请编写梯形图控制程序。 (3)改变输出转速~时间变化函数,重复上述过程。 图1 所要实现的功能示意图 分为三档,t1=20s、t2=25s、t3=30s、t4=60s 2.课题要求: (1)按题意要求,画出 PLC 端子接线图及控制梯形图。【含变频器接线图】 (2)编制控制程序,并画出梯形逻辑图。 (3)完成课程设计说明书。 二、总体设计方案 本次设计通过PLC和变频器的组合完成数字量的输入来控制电动机实现的不同的转速功能,使电动机分三个档次速度的运转,系统通过按钮设定为自动模式和手动模式。通过开关SB1、SB2和接触器KM1、KM2对电动机起正反方式控制;用接触器KM3、KM4和KM5对电动机实现三个不同档次速度的控制;同时用时间继电器KT3、KT4、KT5和KM6对电动机三个不同档次速度的延时控制。用开关SB7和接触器KM7来启动开关模式,同时由SB4、SB5和SB6分别来实现点动模式实现三个不同档次速度的控制。 1、选择电器元件 (1)电动机和变频器的选择 电动机型为Y132S1-2的三相异步电动机,额定工作电压为交流380V,额定电流为22A,频率为100HZ,功率为11KW,同步转速为3000r/min。 变频器型为FR-A540-7.5K-CH,额定工作电压为交流380V,额定电流为22A,频率为100HZ,功率为11KW,同步转速为3000r/min。 变频器参数 表1 参数序 名称 设定值 1 上线频率 100Hz 2 上线频率 0Hz 3 加速时间 10s 4 减速时间 20s (2)热继电器FR1 由于电动机M1的额定电流15A,FR1可以选用JR16B-20/3,热元件电流为22A,电流整定范围为18~30A工作时将额定电流调整为22A。 (3)熔断器FU FU是对电动机M1进行保护的熔断器。熔体电流为 I=(1.5~2.5)I1=33~55A 式中,I1为电动机M1的额定电流; 因此可以选择型为RL1-60的熔断器。 (4)接触器KM 接触器KM1,根据主电动机M1的额定电流I=22A,控制回路电源为24V主触点一对,常开辅助触点一对,常闭辅助触点两对,根据上述情况,选用CJX2—25N9型的接触器。电磁线圈电压为24V。 本次设计PLC控制变频调速系统设计系统中选用 -16MR-001基本单元, 电机选择型为Y132S1-2的三相异步电动机,额定功率为7.5KW,工作电压为交流380V,同步3000r/min,额定电流15A,根据电机功率选择型为FR-A540-7.5K-CH的变频器。 2.确定系统控制结构 由PLC和变频器组成的开环控制系统, PLC输出端的数字量作为变频器的输入。 实现如下控制: 第一档输出频率为0Hz,对应同步转速为0r/min;第二档输出频率为50Hz,对应同步转速为1500r/min;第三档输出频率为3000Hz,对应同步转速为3000r/min。 当PLC数字量输出第一档时,变频器输出频率为100Hz;电机经过20s速度由0—3000r/min;电机以最大速度运行5s,PLC数字量第二档输出时,变频器输出频率为50Hz,对应同步转速降为1500 r/min, 电动机以中速运行5s后,PLC数字量输出第三档,变频器输出为0Hz,电机转速为0r/ min,电动机以中速运行30s后。 3. 系统流程图 由于本系统是通过PLC和变频器的组合完成数字量的输入来控制电动机实现的不同的转速功能,使电动机分三个档次速度的运转。在此本设计首先是按钮SB7设定自动模式和手动模式两种。由开关SB1、SB2对电动机起正反方式控制。在自动模式时用时间继电器KT3延时20s实现高速启动、时间继电器KT4延时5s实现高速运转、时间继电器KT5延时5s实现中速运转和时间继电器KM6延时

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧