南邮数据库实验报告
南邮数据库基础教程实验报告

实验报告〔201 5 / 201 6 学年第二学期〕课程名称数据库系统与设计实验名称数据库系统程序设计与分析实验时间201 6年6月3/17/22/24 日指导单位指导教师学生班级学号学院(系) 电脑学院专业实验报告实验报告insert into PC values(1010,,2048,300,770);insert into PC values(1011,,2048,160,959);insert into PC values(1012,,1024,160,649);insert into PC values(1013,,512,80,529);insert into Laptop values(2001,,2048,240,,3673);insert into Laptop values(2002,,1024,80,,949);insert into Laptop values(2003,,512,60,,549);insert into Laptop values(2004,,512,60,,1150);insert into Laptop values(2005,,1024,120,,2500);insert into Laptop values(2006,,2048,80,,1700);insert into Laptop values(2007,,1024,120,,1429);insert into Laptop values(2008,,1024,100,,900);insert into Laptop values(2009,,512,80,,680);insert into Laptop values(2010,,2048,160,,2300);insert into Printer values(3001,'true','ink_jet',99); insert into Printer values(3002,'false','laster',239); insert into Printer values(3003,'true','laster',899); insert into Printer values(3004,'true','ink_jet',120); insert into Printer values(3005,'false','laster',120);insert into Printer values(3006,'true','ink_jet',100); insert into Printer values(3007,'true','laster',200);insert into Product values('A',1001,'pc');insert into Product values('A',1002,'pc');insert into Product values('A',1003,'pc');insert into Product values('A',2004,'laptop');insert into Product values('A',2005,'laptop');insert into Product values('A',2006,'laptop');insert into Product values('B',1004,'pc');insert into Product values('B',1005,'pc');insert into Product values('B',1006,'pc');insert into Product values('B',2007,'laptop');insert into Product values('C',1007,'pc');insert into Product values('D',1008,'pc');insert into Product values('D',1009,'pc');insert into Product values('D',1010,'pc')insert into Product values('D',3004,'printer');insert into Product values('D',3005,'printer');insert into Product values('E',1011,'pc');insert into Product values('E',1012,'pc');insert into Product values('E',1013,'pc');insert into Product values('E',2001,'laptop');insert into Product values('E',2002,'laptop');insert into Product values('E',2003,'laptop');insert into Product values('E',3001,'printer');insert into Product values('E',3002,'printer');insert into Product values('E',3003,'printer');insert into Product values('F',2008,'laptop');insert into Product values('F',2009,'laptop');insert into Product values('G',2010,'laptop')insert into Product values('H',3006,'printer');insert into Product values('H',3007,'printer');实验二A〕SELECT maker,speedFrom Product,Laptopwhere Laptop.hd>=30 AND Laptop.model=Product.modelB〕SELECT Product.model,priceFrom Product,PCWhere Product.maker='B'AND Product.model=PC.model UNIONSELECT Product.model,priceFrom Product,LaptopWhere Product.maker='B'AND Product.model=Laptop.model UNIONSELECT Product.model,priceFROM Product,PrinterWHERE Product.maker='B'AND Product.model=Printer.modelC〕SELECT makerFrom Product PWhere P.type='laptop'EXCEPTSELECT makerFrom Product PWhere P.type='pc'D〕SELECT DISTINCT p.hdFROM PC p,PC qWHERE q.hd=p.hd AND p.model>q.modelE〕SELECT p.model AS MODEL1,q.model AS MODEL2FROM PC p,PC qWHERE p.speed=q.speed AND p.ram=q.ram AND p.model>q.modelF〕SELECT p.makerFROM (SELECT E.maker,F.modelFROM Product E,PC FWHERE F.speed> 3.0 AND E.model=F.modelUNIONSELECT G.maker,H.modelFROM Product G,Laptop HWHERE H.speed> 3.0 AND G.model=H.model)pGROUP BY p.makerHAVING COUNT(p.model)>= 2实验三A〕SELECT makerFROM Product,(SELECT modelFROM PCWHERE PC.speed>)pWHERE Product.model=p.modelSELECT makerFROM Product JOIN PCON Product.model=PC.modelWHERE speed>B〕SELECT p.priceFROM Printer pWHERE p.price>=ALL(SELECT priceFROM Printer)SELECT MAX(price)AS price FROM PrinterC〕SELECT p.modelFROM Laptop pWHERE p.speed<=(SELECT MIN(speed)FROM PC)SELECT p.modelFROM Laptop pWHERE p.speed<=ALL(SELECT speedFROM PC)D〕SELECT p.modelFROM (SELECT model,priceFROM PCUNIONSELECT model,priceFROM LaptopUNIONSELECT model,priceFROM Printer)pWHERE p.price>=ALL(SELECT priceFROM PCUNIONSELECT priceFROM LaptopUNIONSELECT priceFROM Printer)E〕SELECT makerFROM ProductWHERE model=(SELECT modelFROM PrinterWHERE price=(SELECT MIN(price)AS priceFROM Printer))SELECT p.makerFROM Product p,Printer qWHERE p.model=q.model AND q.price<=ALL(SELECT priceFROM Printer)F〕SELECT makerFROM Product p,PC qWHERE p.model=q.modelAND q.ram<=ALL(SELECT ramFROM PC)AND q.speed>=ALL(SELECT speedFROM PC)实验四A〕SELECT AVG(speed)AS AVGSPEEDFROM PCB〕SELECT AVG(speed)AS AVGSPEEDFROM PCWHERE price> 1000C〕SELECT AVG(price)AS AVGPRICEFROM PCWHERE model IN(SELECT modelFROM ProductWHERE maker='A')D〕SELECT AVG(p.price)AS AVGPRICEFROM (SELECT model,priceFROM PCUNIONSELECT model,priceFROM Laptop)pWHERE p.model IN(SELECT modelFROM ProductWHERE maker='D')E〕SELECT speed,AVG(price)AS AVGPRICEFROM PCGROUP BY speedF〕SELECT maker,AVG(screen)AS AVGSCREENFROM Product p JOIN Laptop q ON p.model=q.model GROUP BY makerG〕SELECT makerFROM ProductWHERE type='PC'GROUP BY makerHAVING COUNT(model)>= 3H〕SELECT maker,MAX(price)AS MAXPRICEFROM Product p JOIN PC q ON p.model=q.model GROUP BY makerI〕SELECT speed,AVG(price)AS AVGPRICEFROM PCWhere speed>GROUP BY speedJ〕SELECT AVG(hd)AS AVGHDFROM Product p JOIN PC q ON p.model=q.model WHERE maker IN(SELECT makerFROM ProductWhere type='Printer')实验报告。
南邮数据结构实验二

实验报告
( 2016 / 2017 学年第一学期)
课程名称数据结构A
实验名称二叉树的基本操作
及哈夫曼编码译码系统的实现
实验时间2017 年 5 月 1 日指导单位计算机学院计算机科学与技术系
指导教师邹志强
学生姓名吴爱天班级学号B15040916 学院(系) 计算机学院专业信息安全
实验报告
之后三步输出,对应的是三种遍历方式,应该输出的测试结果是:
先序:68 69 72 70 74 71 67 75 65 66
中序:72 69 74 70 71 75 67 68 65 66
后序:72 74 75 67 71 70 69 66 65 68
实验结果符合预期。
对于哈夫曼建树操作我自己又按照自己的想法重写了,里面也去学习了C++的字典类MAP,这个类非常好用,可以简单粗暴地提供一些方法和迭代器,让你将关键字和值绑定,这样我每新加入一个字母的数据块,我就可以记录下这对组合,不用之后搜索和解码的时
之后进行编码,其实也是一个搜索的过程,主要是调用了一个
测试:。
南邮数据结构实验一

实验报告(2014 / 2015 学年第二学期)课程名称数据结构实验名称线性表的基本运算及多项式的算术运算实验时间2015 年9 月28 日指导单位计算机科学与技术系指导教师黄海平学生姓名陈明阳班级学号Q学院(系) 贝尔英才专业信息科技强化班实验报告~SeqList() { delete[] elements; }bool IsEmpty() const;int Length() const;bool Find(int i, T& x) const;int Search(T x) const;bool Insert(int i, T x);bool Delete(int i);bool Update(int i, T x);void Output(ostream& out)const;private:int maxLength;T *elements;};template<class T>SeqList<T>::SeqList(int mSize){maxLength = mSize;elements = new T[maxLength];n = 0;}template<class T>bool SeqList<T>::IsEmpty() const{return n == 0;}template<class T>int SeqList<T>::Length()const{return n;}template<class T>bool SeqList<T>::Find(int i, T& x)const{if (i<0 || i>n - 1){cout <<"out of bounds"<< endl; return false;}x = elements[i];return true;}template<class T>int SeqList<T>::Search(T x)const{for (int j = 0; j < n; j++)if (elements[j] == x)return j;return -1;}template<class T>bool SeqList<T>::Insert(int i, T x){if (i<-1 || i>n - 1){cout <<"out of bounds"<< endl;return false;}if (n == maxLength){cout <<"over flow"<< endl;return false;}for (int j = n - 1; j > i; j--)elements[j + 1] = elements[j];elements[i + 1] = x;n++;return true;}template<class T>bool SeqList<T>::Delete(int i){if (i<0 || i>n - 1){cout <<"out of bounds"<< endl;return false;}if (!n){cout <<"over flow"<< endl;return false;}for (int j = i+1; j <n; j--)elements[j -1] = elements[j];n--;return true;}template<class T>bool SeqList<T>::Update(int i, T x){if (i<0 || i>n - 1){cout <<"out of bounds"<< endl;return false;}elements[i] = x;return true;}template<class T>void SeqList<T>::Output(ostream& out)const{for (int i = 0; i < n; i++)out << elements[i] << " ";out<< endl;}源.cpp:#include"seqlist.h"const int SIZE = 20;void main(){SeqList<int> LA(SIZE);int i = 0;for (i = 0; i<5; i++) LA.Insert(i - 1, i);LA.Insert(-1, 10);LA.Output(cout);}实现在线性表LA中插入0-4然后在一开始插入10 运行截图如下:多项式实验:定义类如下重构函数如下:源码:#include<iostream>using namespace std;class Term{public:Term(int c, int e);Term(int c, int e, Term* nxt);Term* InsertAfter(int c, int e);private:int coef;int exp;Term* link;friend ostream& operator<<(ostream &, const Term &);friend class Polynominal;};Term::Term(int c, int e) :coef(c), exp(e){link = 0;}Term::Term(int c, int e, Term *nxt) : coef(c), exp(e) {link = nxt;}Term* Term::InsertAfter(int c, int e){link = new Term(c, e, link);return link;}ostream& operator<<(ostream& out, const Term& val){if (0 == val.coef)return out;if (1!= val.coef)out<<val.coef;switch (val.exp){case 0:break;case 1:out<<"X"; break;default:out<<"X^"<<val.exp; break;}return out;}class Polynominal{public:Polynominal();~Polynominal();void AddTerms(istream& in);void Output(ostream& out)const;void PolyAdd(Polynominal& r);void PolyMul(Polynominal& r);private:Term* theList;friend ostream& operator<<(ostream &, const Polynominal &);friend istream& operator>>(istream&, Polynominal &);friend Polynominal& operator+(Polynominal &, Polynominal &);friend Polynominal& operator*(Polynominal &, Polynominal &); };Polynominal::Polynominal(){theList = new Term(0, -1); //头结点theList->link = NULL; //单链表尾结点指针域为空}Polynominal::~Polynominal(){Term* p = theList->link;while (p != NULL){theList->link = p->link;delete p;p = theList->link;}delete theList;}void Polynominal::AddTerms(istream & in){Term* q = theList;int c, e;for (;;){cout <<"Input a term(coef,exp):\n"<< endl;cin >> c >> e;q = q->InsertAfter(c, e);if (0 >= e) break;}}void Polynominal::Output(ostream& out)const{int first = 1;Term *p = theList->link;for (; p != NULL && p->exp >= 0; p = p->link){if (!first && (p->coef>0)) out<<"+";first = 0;out<< *p;}cout << endl;}void Polynominal::PolyAdd(Polynominal& r){Term *q, *q1 = theList, *p; //q1指向表头结点p = r.theList->link; //p指向第一个要处理的结点q = q1->link; //q1是q的前驱,p和q就指向两个当前进行比较的项while (p != NULL && p->exp >= 0)//对r的单循环链表遍历,知道全部结点都处理完{while (p->exp < q->exp) //跳过q->exp大的项{q1 = q;q = q->link;}if (p->exp == q->exp) //当指数相等时,系数相加{q->coef = q->coef + p->coef;if (q->coef == 0) //若相加后系数为0,则删除q{q1->link = q->link;delete(q);q = q1->link; //重置q指针}else{q1 = q; //若相加后系数不为0,则移动q1和qq = q->link;}}else//p>exp>q->exp的情况q1 = q1->InsertAfter(p->coef, p->exp); //以p的系数和指数生成新结点,插入q1后 p = p->link;}}void Polynominal::PolyMul(Polynominal& r){Polynominal result; //定义相乘后的数据Term *n = result.theList; //n指向result的头结点n = n->InsertAfter(0, 0); //在result的头结点后插入新结点,系数指数均为0 Term *p = r.theList->link; //p指向第一个要处理的结点while(p->exp >= 0) //对r的单循环链表遍历{Polynominal tmp; //存储某段相乘后的数据Term *m = tmp.theList; //m指向tmp的头结点Term *q = theList->link; //q指向表头结点的后继结点while(q->exp >= 0) //对当前对象的单循环环链表遍历{m = m->InsertAfter((p->coef)*(q->coef), (p->exp) + (q->exp)); //生成新结点插入n后 q = q->link;}result.PolyAdd(tmp); //将temp加到result上p = p->link;}Term *q = theList->link; //q指向表头结点的后继结点while(q != NULL) //删除原对象的所有数据{theList->link = q->link;delete q;q = theList->link;}q = theList;q = q->InsertAfter(0, 0);PolyAdd(result); //将result加到当前对象上}ostream &operator<<(ostream& out, const Polynominal& x){x.Output(out);return out;}istream &operator>>(istream& in, Polynominal &x){x.AddTerms(in);return in;}Polynominal & operator + (Polynominal &a, Polynominal &b){a.PolyAdd(b);return a;}Polynominal & operator * (Polynominal &a, Polynominal &b){a.PolyMul(b);return a;}int main()实验报告文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.。
南邮 软件设计 数据库 实验详细过程及报告

2012 /2013 学年第二学期软件设计实验报告模块名称数据库软件设计专业学生班级学生学号学生姓名指导教师报告内容(正文为宋体小四)实验一:内容:了解SQLserver和MySql的安装及使用;学会对企业管理器、查询分析器的使用;建立一个学生表、课程表及学生选课关联表,并用SQL语句进行相关插入、查询、删除等操作;步骤:1、打开企业管理器,建立一个名为10002434的数据库。
2.建立基本表:学生、课程和选课,写出DDL语句。
学生表:INSERT INTO Student V ALUES('10001','李勇','男','20','CS');INSERT INTO Student V ALUES('10002','刘晨','女','19','IS');INSERT INTO Student V ALUES('10003','王敏','女','18','MA');INSERT INTO Student V ALUES('10004','张立','男','18','IS');INSERT INTO Student V ALUES('10005','丁雨','女','19','MA');课程表INSERT INTO Course VALUES('1','数据库','5','4');INSERT INTO Course VALUES('2','数学','NULL','2');INSERT INTO Course VALUES('3','信息系统','1','4');INSERT INTO Course VALUES('4','操作系统','6','3');INSERT INTO Course VALUES('5','数据结构','7','4');INSERT INTO Course VALUES('6','数据处理','NULL','2');INSERT INTO Course VALUES('7','PASCAL语言','6','4');选课:INSERT INTO SC VALUES('10001','1','92'); INSERT INTO SC VALUES('10001','2','85'); INSERT INTO SC VALUES('10002','3','88'); INSERT INTO SC VALUES('10003','2','90');INSERT INTO SC VALUES('10003','5','75');(3)写出向数据库中插入和修改数据的DML语句delete from sc where sno='10001'insert into sc values('10005','4',79)实验二:内容:通过odbc 桥访问数据库。
南邮数据结构实验三

南邮数据结构实验三南京邮电大学数据结构实验三、链表的基本操作实验目的本次实验的主要目的是理解链表的概念,掌握链表的基本操作,包括链表的创建、插入、删除和遍历。
实验内容本次实验分为以下几个部分:1、链表的定义与创建1.1 链表的概念链表是一种常见的数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。
链表可以分为单链表、双链表和循环链表等不同类型。
本次实验将创建一个单链表。
1.2 链表节点的定义链表节点包含两个成员变量,分别是数据域和指针域。
数据域用于存储节点的数据,指针域指向下一个节点。
1.3 链表的创建在主函数中创建一个空链表,并添加一些初始数据,用于后续的操作。
2、链表的插入操作2.1 插入节点的位置链表的插入操作需要指定节点插入的位置,可以在链表的头部、尾部或者中间插入新节点。
2.2 插入节点的操作根据所选位置,在链表中插入新节点,并更新相应的指针。
3、链表的删除操作3.1 删除节点的位置链表的删除操作需要指定节点删除的位置,可以删除头节点、尾节点或者中间节点。
3.2 删除节点的操作根据所选位置,删除链表中的节点,并更新相应的指针。
4、链表的遍历操作通过循环遍历链表的所有节点,并输出每个节点的数据。
附件说明本文档涉及以下附件:附件1:源代码附件2:实验报告法律名词及注释本文所涉及的法律名词及注释如下:1、数据结构:数据的存储方式和操作组成的集合。
在计算机科学中,数据结构是计算机中存储、组织数据的方式。
2、链表:链表是一种常见的数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。
3、节点:链表中的一个元素,包含数据域和指针域。
4、数据域:节点中存储的数据。
5、指针域:节点中指向下一个节点的指针。
6、插入操作:在链表中插入一个新节点。
7、删除操作:从链表中删除一个节点。
8、遍历操作:按照一定的顺序访问链表中的所有节点。
全文结束。
南邮单片机实验报告

南邮单片机实验报告篇一:南邮数据库实验报告数据库实验报告( XX / XX 学年第二学期)??学号姓名指导教师成绩一、数据库原理第一次实验【一】实验内容:数据库表的建立与管理【二】、实验目的:学习数据库及表的建立、删除、更新等操作。
注:本次实验题目,除了特殊要求,以T-SQL为主,并将所有语句标注好题号,留存在查询界面上,方便检查。
【三】、实验题目及其解答: 1、创建一名为‘test’的数据库;CREATE DATABASE test2、在“test”数据库中新建一张部门表“部门”,输入列:name(char,10位),ID(char,7位),manager (char,10位)各列均不能为空值。
Solution: use testCREATE TABLE 部门(ID CHAR(7) NOT NULL,name CHAR(10) NOT NULL,manager CHAR(10) NOT NULL) 结果:3、在“test”数据库中新建一张员工表,命名为“员工”。
在表中输入以下各列: name(char,10位),personID(char,7位),Sex(char,7位),birthday(datetime),deptID(char,7位),各列均不能为空值。
CREATE TABLE 员工(name CHAR(10) NOT NULL, personID CHAR(7) NOT NULL, sex CHAR(7) NOT NULL, birthday datetime NOT NULL, deptID CHAR(7) NOT NULL) 结果:4、修改表的操作练习:1)将‘部门’表中的列ID设为主键; 2)将‘员工’表中personID设为主键,并将deptID设置为外键,关联到‘部门’表上的‘ID’列;3)在‘部门’表中,添加列quantity(char, 5);4) 删除‘员工’表中的列‘sex’;5)修改‘员工’表中列name为(varchar,8)ALTER TABLE 部门 ADD CONSTRAINT C1 PRIMARY KEY(ID)ALTER TABLE 员工ADD CONSTRAINT C2 PRIMARYKEY( personID )ALTER TABLE 员工ADD CONSTRAINT C3 FOREIGN KEY(deptID) REFERENCES 部门(ID) ALTER TABLE 部门 ADD quantity CHAR(5) ALTER TABLE 员工 DROP COLUMN sex ALTER TABLE 员工 ALTER COLUMN name VARCHAR(8) 结果:5、1)在数据库test中新建表scores,输入以下列:ID (char,8位)主键, C语言numeric(3,1) ,IT英语numeric(3,1) ,数据库 numeric(3,1) ,软件基础 numeric(3,1) ,平均成绩。
数据库课内实验报告

SELECT JNO FROM SPJ WHERE JNO NOT IN
(SELECT JNO FROM SPJ,S
WHERE S.SNO=SPJ.SNO AND S.CITY='天津')
(8)把全部红色零件的颜色改成蓝色。
UPDATE P SET COLOR='蓝' WHERE COLOR='红'
2)求供应工程J1零件P1的供应商号码SNO:
πSno(σSno=‘J1’∧Pno=‘P1‘(SPJ))
3)求供应工程J1零件为红色的供应商号码SNO:
πSno(σPno=‘P1‘(σCOLOR=’红‘(P)∞SPJ))
4)求没有使用天津供应商生产的红色零件的工程号JNO:
πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘(S∞SPJ∞P)
( 5)求至少用了供应商Sl所供应的全部零件的工程号JNO ;
由于VFP不允许子查询嵌套太深,将查询分为两步
A、查询S1供应商供应的零件号
SELECT PNO FROM SPJ WHERE SNO='S1'
B、查询哪一个工程既使用P1零件又使用P2零件。
SELECT JNOFROM SPJ WHERE PNO='P1'
课内实验报告
课 程 名:数据库原理与应用
********
专业:信息管理与信息系统
学 号:********
**********
二○一一至二○一二年度第1学期
南京邮电大学经济与管理学院
《数据库原理与应用》课程实验第1次实验报告
实验内容及基本要求:
南邮数据结构实验一

实验报告
( 2016 / 2017 学年第一学期)
课程名称数据结构A
实验名称线性表的基本运算及多项式的算术运算实验时间2017 年 3 月22 日指导单位计算机学院计算机科学与技术系
指导教师邹志强
学生姓名吴爱天班级学号B15040916 学院(系) 计算机学院专业信息安全
实验报告
实验报告
度为O(n)级别。
2、在顺序表类SeqList 中增加成员函数bool DeleteX (const T &x), 删除表中所有元素值等于x 的元素.若表中存在这样的元素, 则删除之, 且函数返回true, 否则函数返回false.
删除所有值为X的元素
注释:主要思路为,依次查找SeqList内的元素,每次都与X的值进行依次对比,如果相同则删除,不同则继续向下扫描,知道SeqList末尾,最后用Search()来检验是否删除干净,复杂度也为O(n).
如图,原数据为 7 49 73 58 30 72,逆转过后为72 30 58 73 49 7,符合预期。
DeleteX()
如图,原数据中有3个0,输出结果中已经没有0,已经删除干净,符合预期。
实验报告
如图,分别检测6X^6+3X^5+4X^2与2X^2+3X相加和相乘运算,得到
6X^6+3X^5+4X^2+2X^2+3X+2X^2+3X和12X^8+18X^7+6X^7+9X^6+8X^4+12X^3,
符合预期。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验结果:
1、数据库表
(1)学生表
(2)课程表
(3)成绩表
(4)教师表
2、查询结果及SQL语言
(1)找出男性学生的姓名
SELECT NAME
FROM S
WHERE XB="男";
(2)找出不是“2031”班的学生
SELECT *
FROM S
WHERE SNO NOT IN
(SELECT SNO
FROM S
WHERE CLASSNO='B131115');
(3)查询“李峰”老师所教课程的课程名称和学分
SELECT CNAME, XF
FROM T, C
WHERE NAME="李峰" And T.TNO=C.TNO;
(4)检索出选修了课程代号为“c11”和“c23”课程的学生
(8)检索出没有被任何学生选修的课程
SELECT *
FROM C
WHERE O NOT IN (SELECT O FROM G);
(9)求出每个学生的成绩的平均分和总分
SELECT S.SNO, Avg(G.GRADE) AS平均分, Sum(G.GRADE) AS总分
FROM S INNER JOIN G ON S.SNO=G.SNO
SELECT S.SNO, O, AME
FROM (S INNER JOIN G ON S.SNO=G.SNO) INNER JOIN C ON O=O
WHERE S.SNO LIKE'B13111502' AND Exists (SELECT* FROM G AS G2 WHERE O=O AND G2.SNO LIKE'B13111510')<>False;
HAVING Sum(G.GRADE)>200;
(12)求出少于10个学生选修的课程
SELECT AME, O, Count(G.GRADE) AS GRADE之计数
FROM (S INNER JOIN G ON S.SNO=G.SNO) INNER JOIN C ON O=O
GROUP BY S.SNO;
(10)求至少三门以上课程成绩在90分以上的学生学号
SELECT , S.SNO, Count(G.GRADE) AS GRADE之计数
FROM S INNER JOIN G ON S.SNO=G.SNO
WHERE (((G.GRADE)>90))
GROUP BY , S.SNO
HAVING (((COUNT(G.GRADE))>2));
(11)求获得学分数在200以上的学生
SELECT S.SNO, , Sum(G.GRADE) AS GREAT之总计
FROM S INNER JOIN G ON S.SNO=G.SNO
GROUP BY S.SNO,
WHERE (((G.GRADE)<60))
GROUP BY
HAVING (((Count(G.GRADE))=4));
(14)求出每个老师所教课程的学分总数
SELECT C.TNO, , Sum(C.XF) AS XF之总计
FROM C INNER JOIN T ON C.TNO=T.TNO
SELECT SNO
FROM G
WHERE CNO In ("1","2");
(5)查询至少选修了一门“李峰”老师的课程的学生姓名
SELECT , S.SNO
FROM (S INNER JOIN G ON S.SNO=G.SNO) INNER JOIN C ON O=O
WHERE O="6" Or O="7"
SELECT S.CLASSNO, O, Max(G.GRADE) AS最高分
FROM S INNER JOIN G ON S.SNO=G.SNO
GROUP BY S.CLASSNO, O;
成绩评定:
该生对待本次实验的态度□认真□良好□一般□比较差。
本次实验的过程情况□很好□较好□一般□比较差
(9)求出每个学生的成绩的平均分和总分
(10)求至少三门以上课程成绩在90分以上的学生学号
(11)求获得学分数在200以上的学生
(12)求出少于10个学生选修的课程
(13)求出有四门课程考试不及格的学生的姓名
(14)求出每个老师所教课程的学分总数
(15)求出教了三门课以上的老师
(16)求出只教一门课程的老师
课内实验报告
课程名:数据库原理与应用
********
专业:信息管理与信息系统
学号:B********
******
二○一四至二○一五年度第二学期
南京邮电大学管理学院
《数据库原理与应用》课程实验报告
实验内容及基本要求:
实验项目名称:学生成绩管理数据库的建立
实验类型:上机实验
实验内容及要求:
1、构建一个教学管理关系数据库如下:
GROUP BY C.TNO, ;
(15)求出教了三门课以上的老师
SELECT , T.TNO, 源自ount(O) AS CNO之计数
FROM T INNER JOIN C ON T.TNO = C.TNO
GROUP BY , T.TNO
HAVING (((Count(O))>=3));
(16)求出只教一门课程的老师
SELECT , T.TNO, Count(O) AS CNO之计数
FROM T INNER JOIN C ON T.TNO=C.TNO
GROUP BY , T.TNO
HAVING (((Count(O))=1));
(17)求出每一个班级中每一门课程获得最高分的学生的学号
对实验结果的分析□很好□良好□一般□比较差
文档书写符合规范程度□很好□良好□一般□比较差
综合意见:
成绩
指导教师签名
程录庆
日期
2014-4-24
(3)查询“李峰”老师所教课程的课程名称和学分
(4)检索出选修了课程代号为“c11”和“c23”课程的学生
(5)查询至少选修了一门“李峰”老师的课程的学生姓名
(6)求选修了课程名为“数据库原理”的所有学生的学号和姓名
(7)找出学生代号为“S101”和“S102”两个学生都选修了的课程
(8)检索出没有被任何学生选修的课程
GROUP BY AME, O
HAVING (((Count(G.GRADE))<10));
(13)求出有四门课程考试不及格的学生的姓名
SELECT , Count(G.GRADE) AS GRADE之计数
FROM S INNER JOIN G ON S.SNO=G.SNO
学生(学号,姓名,性别,年龄,籍贯,班级代号)
课程(课程号,课程名称,学分数,教师代号)
成绩(学号,课程号,成绩,考试时间)
教师(教师代号,姓名,性别,年龄,职称)
为方便起见,上述关系用英文字母表示如下:
S(SNO,NAME,SEX,AGE,JG,CLASSNO)
C(CNO,CNAME,XF,TNO)
G(SNO,CNO,GRADE,DATE)
T(TNO,NAME,SEX,AGE,ZC)
2、上述关系模式中,带下划线的属性为各自关系的关键字,其中学生表输入20条记录;课程表输入10条记录;成绩表输入100条记录;教师表入5条记录。基于这些关系表,做如下查询:
(1)找出男性学生的姓名
(2)找出不是“2031”班的学生
GROUP BY , S.SNO;
(6)求选修了课程名为“数据库原理”的所有学生的学号和姓名
SELECT S.SNO,
FROM S INNER JOIN G ON S.SNO=G.SNO
WHERE (((O)="1"));
(7)找出学生代号为“S101”和“S102”两个学生都选修了的课程