东北大学计算机软件基础实验.docx
《东北大学计算机软件基础实验.docx》由会员分享,可在线阅读,更多相关《东北大学计算机软件基础实验.docx(25页珍藏版)》请在冰豆网上搜索。
东北大学计算机软件基础实验
计算机软件基础实验
第一题的程序列表如下:
#include"stdio.h"
#include"malloc.h"
#include"stdlib.h"
#definemaxsize50
typedefintdatatype;
typedefstruct
{datatypedata[maxsize];
intlast;
}sequenlist;
voidcreatlist(sequenlist*L)
{intn,i,a;
inttmp;
printf("请输入表数据的个数:
\n");
scanf("%d",&n);
printf("输入数据个数:
scanf("%d",&a);
printf("请输入数据:
for(i=0;i{fflush(stdin);scanf("%d",&tmp);L->data[i]=tmp;}L->last=n-1;printf("\n");}voidprintout(sequenlist*L){inti;for(i=0;i<=L->last;i++){printf("data[%d]=",i);printf("%d\n",L->data[i]);}}voidsort(sequenlist*L){inti,j;datatypea;for(i=0;ilast;i++)for(j=0;jlast-i;j++)if(L->data[j]>L->data[j+1]){a=L->data[j];L->data[j]=L->data[j+1];L->data[j+1]=a;}}voidchange(sequenlist*L){inta,b;inti,j;printf("插入请输入2,删除请输1:\n");scanf("%d",&a);switch(a){case2:printf("请输入插入数据:\n");break;case1:printf("请输入删除数据:\n");break;}scanf("%d",&b);switch(a){case2:for(i=0;ilast;i++)if(b>L->data[i]&&bdata[i+1])break;for(j=L->last-i;j>i;j--)L->data[j+1]=L->data[j];L->data[i+1]=b;;break;case1:for(i=0;ilast;i++)if(b==L->data[i])break;for(j=i+1;jlast-1;j++)L->data[j-1]=L->data[j];;break;default:printf("请正确输入数值:\n");printf("插入请输入1,删除请输0:\n");}}voidmain(){sequenlist*L1;L1=(sequenlist*)malloc(sizeof(sequenlist));printf("第一张表:\n");creatlist(L1);sort(L1);printf("排序后的第一张表为:\n");printout(L1);do{change(L1);printf("改变后的表为:\n");printout(L1);}while(!0);}程序运行截图:第二题程序代码:#include"stdio.h"#include"iostream"#include#includeconstintMAX_LEN=10;//字符串的长度constintMAX_SIZE=30;//栈或队的最大元素个数structQUEUE{//定义一个队列的结构体intnMaxSize;//最大值intnCount;//个数intnFront;//头intnRear;//尾charszQueue[MAX_SIZE][MAX_LEN];};structSTACK{//定义一个栈的结构intnMaxSize;//最大值intnTop;//栈顶charszStack[MAX_SIZE][MAX_LEN];};voidInitQueue(QUEUE*q,intnMaxSize)//队列的初始化操作{(*q).nMaxSize=nMaxSize;(*q).nCount=0;(*q).nFront=0;(*q).nRear=0;}voidInQueue(QUEUE*q,char*pItem)//进入队列的函数{if((*q).nCount==(*q).nMaxSize){printf("ThequeueisFULL!");}else{(*q).nCount++;strcpy((*q).szQueue[(*q).nRear],pItem);(*q).nRear=((*q).nRear+1)%((*q).nMaxSize);}}voidOutQueue(QUEUE*q,char*pItem)//出队列的函数{if((*q).nCount==0){printf("ThequeueisEMPTY!");}else{strcpy(pItem,(*q).szQueue[(*q).nFront]);(*q).nCount--;(*q).nFront=((*q).nFront+1)%((*q).nMaxSize);}}voidInitStack(STACK*s,intnMaxSize)//栈的初始化操作函数{(*s).nMaxSize=nMaxSize;(*s).nTop=0;}voidPushStack(STACK*s,char*pItem)//压栈的函数{if((*s).nTop==(*s).nMaxSize){printf("ThestackisFULL!");}else{(*s).nTop++;strcpy((*s).szStack[(*s).nTop],pItem);}}voidPopStack(STACK*s,char*pItem)//弹栈的函数{if((*s).nTop==0){printf("ThestackisEMPTY!");}else{strcpy(pItem,(*s).szStack[(*s).nTop]);(*s).nTop--;}}voidGetTopStack(STACK*s,char*pItem)//获得栈顶中操作符的函数{if((*s).nTop==0){printf("ThestackisEMPTY!");}else{strcpy(pItem,(*s).szStack[(*s).nTop]);}}intPriority(char*op)//获得操作符的优先级{intnPriority=0;switch(op[0]){case'^':nPriority=3;break;case'*':case'/':nPriority=2;break;case'+':case'-':nPriority=1;break;case';':nPriority=0;}returnnPriority;}voidCompute(char*num1,char*num2,char*op,char*chResult)//计算表达式的值{doublefNum2,fNum1;doublefResult=0;fNum1=atof(num1);fNum2=atof(num2);switch(op[0]){case'^':fResult=pow(fNum1,fNum2);break;case'*':fResult=fNum1*fNum2;break;case'/':fResult=fNum1/fNum2;break;case'+':fResult=fNum1+fNum2;break;case'-':fResult=fNum1-fNum2;break;}sprintf(chResult,"%.4f",fResult);//把计算结果转换成字符串return;}voidmain(){chartemp[MAX_LEN];charepsn[MAX_SIZE][MAX_LEN];inti=0;intn=0;structQUEUEq;//声明一个队列InitQueue(&q,MAX_SIZE);//初始化队列structSTACKOS;//声明OS栈和NS栈structSTACKNS;InitStack(&OS,MAX_SIZE);//初始化堆栈InitStack(&NS,MAX_SIZE);//输入表达式,并放入到队列当中printf("Pleaseinputaequationnow:\n\n");while(1){scanf("%s",temp);if(!strcmp(temp,";")){InQueue(&q,";");break;}strcpy(epsn[n++],temp);InQueue(&q,temp);}for(i=0;i{printf("%s",epsn[i]);}//表达式求值charx[MAX_LEN];//扫描的表达式charop[MAX_LEN];//栈顶运算符charnum1[MAX_LEN],num2[MAX_LEN];//两个操作数charchResult[MAX_LEN];//运算结果OutQueue(&q,x);//扫描表达式PushStack(&OS,";");//压栈while(true){if(isdigit(x[0]))//是数{PushStack(&NS,x);//将数压栈OutQueue(&q,x);}else//认为是运算符,没有考虑空格等{GetTopStack(&OS,op);//获得OS栈顶运算符if(Priority(x)>Priority(op))//运算符的优先级〉栈顶运算符{PushStack(&OS,x);OutQueue(&q,x);continue;}if(x[0]==';'&&op[0]==';')//扫描结束{PopStack(&NS,chResult);printf("=%s\n\n",chResult);break;}if(Priority(x)<=Priority(op))//不大于栈顶运算符{PopStack(&NS,num1);PopStack(&NS,num2);PopStack(&OS,op);Compute(num2,num1,op,chResult);PushStack(&NS,chResult);}}}}第三题:1、创建三个表Stu、Course、ScoreCREATETABLEStu(SnoCHAR(4)PRIMARYKEY,SnameCHAR(10),SexCHAR(4),AgeNUMERIC,BirthDayDATETIME,ClassCHAR(10),);CREATETABLECourse(CnoCHAR(2)PRIMARYKEY,CnameCHAR(10),ChourNUMERIC,);CREATETABLEScore(SnoCHAR(4),CnoCHAR(2),PRIMARYKEY(Sno,Cno),GradeNUMERIC,);2、向Stu表中插入数据/*插入数据*/InsertintoStu(Sno,Sname,Sex,Age,BirthDay,Class)values('0101','张强','男','20','1994-02-20','自动化01班');InsertintoStu(Sno,Sname,Sex,Age,BirthDay,Class)values('0102','李红','女','20','1994-08-10','自动化01班');InsertintoStu(Sno,Sname,Sex,Age,BirthDay,Class)values('0103','王涛','男','21','1993-05-18','自动化01班');InsertintoStu(Sno,Sname,Sex,Age,BirthDay,Class)values('0104','刘丽','女','19','1995-03-05','自动化02班');InsertintoStu(Sno,Sname,Sex,Age,BirthDay,Class)values('0105','孙东','男','21','1993-12-17','自动化02班');InsertintoStu(Sno,Sname,Sex,Age,BirthDay,Class)values('0106','王平','男','22','1992-11-30','自动化02班');InsertintoStu(Sno,Sname,Sex,Age,BirthDay,Class)values('0201','欧阳燕','女','20','1994-04-11','电子01班');InsertintoStu(Sno,Sname,Sex,Age,BirthDay,Class)values('0202','杨锐','男','20','1994-05-13','电子01班');InsertintoStu(Sno,Sname,Sex,Age,BirthDay,Class)values('0203','刘艳','女','18','1996-01-21','电子01班');InsertintoStu(Sno,Sname,Sex,Age,BirthDay,Class)values('0204','周宇','男','20','1994-07-10','电子01班');3、导入课程数据 InsertintoScore(Sno,Cno,Grade)values('0101','01','87');InsertintoScore(Sno,Cno,Grade)values('0102','01','90');InsertintoScore(Sno,Cno,Grade)values('0103','01','79');InsertintoScore(Sno,Cno,Grade)values('0104','01','89');InsertintoScore(Sno,Cno,Grade)values('0105','01','58');InsertintoScore(Sno,Cno,Grade)values('0106','01','77');InsertintoScore(Sno,Cno,Grade)values('0201','01','95');InsertintoScore(Sno,Cno,Grade)values('0202','01','80');InsertintoScore(Sno,Cno,Grade)values('0203','01','76');InsertintoScore(Sno,Cno,Grade)values('0204','01','70');InsertintoScore(Sno,Cno,Grade)values('0101','02','91');InsertintoScore(Sno,Cno,Grade)values('0102','02','88');InsertintoScore(Sno,Cno,Grade)values('0103','02','75');InsertintoScore(Sno,Cno,Grade)values('0104','02','91');InsertintoScore(Sno,Cno,Grade)values('0105','02','76');InsertintoScore(Sno,Cno,Grade)values('0106','02','76');InsertintoScore(Sno,Cno,Grade)values('0201','02','90');InsertintoScore(Sno,Cno,Grade)values('0202','02','84');InsertintoScore(Sno,Cno,Grade)values('0203','02','83');InsertintoScore(Sno,Cno,Grade)values('0204','02','57');2.SelectSname,Cname,GradefromStu,Course,ScorewhereStu.Sno=Score.SnoandCourse.Cno=Score.Cno;SelectdistinctStu.Sno,Sname,ClassfromStu,ScorewhereStu.Sno=Score.SnoandGrade<60;SelectSname,avg(Grade)PJCJ,sum(Grade)ZCJfromStu,ScorewhereScore.Sno=Stu.SnogroupbyStu.Sname;SelectSname,ClassfromStuwhereexists(Select*fromScorewhereStu.Sno=Score.SnoandScore.Cno='01'andScore.Grade>=85)andexists(Select*fromScorewhereStu.Sno=Score.SnoandScore.Cno='02'andScore.Grade>=85)UpdateCoursesetCname='网络技术'whereCno='01';UpdateStusetSname='zhangxu',Sex='m',age='20'whereSno='0101';UpdateScoresetGrade=60whereSnoin(SelectSnofromStuwhereSex='男')andGradebetween55and59;
{fflush(stdin);
scanf("%d",&tmp);
L->data[i]=tmp;
}
L->last=n-1;
printf("\n");
voidprintout(sequenlist*L)
{inti;
for(i=0;i<=L->last;i++)
{printf("data[%d]=",i);
printf("%d\n",L->data[i]);
voidsort(sequenlist*L)
{inti,j;
datatypea;
for(i=0;ilast;i++)
for(j=0;jlast-i;j++)
if(L->data[j]>L->data[j+1])
{a=L->data[j];
L->data[j]=L->data[j+1];
L->data[j+1]=a;
voidchange(sequenlist*L)
{inta,b;
inti,j;
printf("插入请输入2,删除请输1:
switch(a)
{case2:
printf("请输入插入数据:
\n");break;
case1:
printf("请输入删除数据:
scanf("%d",&b);
{
case2:
if(b>L->data[i]&&bdata[i+1])
break;
for(j=L->last-i;j>i;j--)
L->data[j+1]=L->data[j];
L->data[i+1]=b;;break;
if(b==L->data[i])
for(j=i+1;jlast-1;j++)
L->data[j-1]=L->data[j];;break;
default:
printf("请正确输入数值:
printf("插入请输入1,删除请输0:
}}
voidmain()
{sequenlist*L1;
L1=(sequenlist*)malloc(sizeof(sequenlist));
printf("第一张表:
creatlist(L1);
sort(L1);
printf("排序后的第一张表为:
printout(L1);
do{change(L1);
printf("改变后的表为:
}while(!
0);}
程序运行截图:
第二题程序代码:
#include"iostream"
#include
constintMAX_LEN=10;//字符串的长度
constintMAX_SIZE=30;//栈或队的最大元素个数
structQUEUE{//定义一个队列的结构体
intnMaxSize;//最大值
intnCount;//个数
intnFront;//头
intnRear;//尾
charszQueue[MAX_SIZE][MAX_LEN];
};
structSTACK{//定义一个栈的结构
intnTop;//栈顶
charszStack[MAX_SIZE][MAX_LEN];
voidInitQueue(QUEUE*q,intnMaxSize)//队列的初始化操作
(*q).nMaxSize=nMaxSize;
(*q).nCount=0;
(*q).nFront=0;
(*q).nRear=0;
voidInQueue(QUEUE*q,char*pItem)//进入队列的函数
if((*q).nCount==(*q).nMaxSize)
printf("ThequeueisFULL!
");
else
(*q).nCount++;
strcpy((*q).szQueue[(*q).nRear],pItem);
(*q).nRear=((*q).nRear+1)%((*q).nMaxSize);
voidOutQueue(QUEUE*q,char*pItem)//出队列的函数
if((*q).nCount==0)
printf("ThequeueisEMPTY!
strcpy(pItem,(*q).szQueue[(*q).nFront]);
(*q).nCount--;
(*q).nFront=((*q).nFront+1)%((*q).nMaxSize);
voidInitStack(STACK*s,intnMaxSize)//栈的初始化操作函数
(*s).nMaxSize=nMaxSize;
(*s).nTop=0;
voidPushStack(STACK*s,char*pItem)//压栈的函数
if((*s).nTop==(*s).nMaxSize)
printf("ThestackisFULL!
(*s).nTop++;
strcpy((*s).szStack[(*s).nTop],pItem);
voidPopStack(STACK*s,char*pItem)//弹栈的函数
if((*s).nTop==0)
printf("ThestackisEMPTY!
strcpy(pItem,(*s).szStack[(*s).nTop]);
(*s).nTop--;
voidGetTopStack(STACK*s,char*pItem)//获得栈顶中操作符的函数
intPriority(char*op)//获得操作符的优先级
intnPriority=0;
switch(op[0])
case'^':
nPriority=3;
case'*':
case'/':
nPriority=2;
case'+':
case'-':
nPriority=1;
case';':
nPriority=0;
returnnPriority;
voidCompute(char*num1,char*num2,char*op,char*chResult)//计算表达式的值
doublefNum2,fNum1;
doublefResult=0;
fNum1=atof(num1);
fNum2=atof(num2);
fResult=pow(fNum1,fNum2);
fResult=fNum1*fNum2;
fResult=fNum1/fNum2;
fResult=fNum1+fNum2;
fResult=fNum1-fNum2;
sprintf(chResult,"%.4f",fResult);//把计算结果转换成字符串
return;
chartemp[MAX_LEN];
charepsn[MAX_SIZE][MAX_LEN];
inti=0;
intn=0;
structQUEUEq;//声明一个队列
InitQueue(&q,MAX_SIZE);//初始化队列
structSTACKOS;//声明OS栈和NS栈
structSTACKNS;
InitStack(&OS,MAX_SIZE);//初始化堆栈
InitStack(&NS,MAX_SIZE);
//输入表达式,并放入到队列当中
printf("Pleaseinputaequationnow:
\n\n");
while
(1)
scanf("%s",temp);
if(!
strcmp(temp,";"))
InQueue(&q,";");
strcpy(epsn[n++],temp);
InQueue(&q,temp);
for(i=0;i{printf("%s",epsn[i]);}//表达式求值charx[MAX_LEN];//扫描的表达式charop[MAX_LEN];//栈顶运算符charnum1[MAX_LEN],num2[MAX_LEN];//两个操作数charchResult[MAX_LEN];//运算结果OutQueue(&q,x);//扫描表达式PushStack(&OS,";");//压栈while(true){if(isdigit(x[0]))//是数{PushStack(&NS,x);//将数压栈OutQueue(&q,x);}else//认为是运算符,没有考虑空格等{GetTopStack(&OS,op);//获得OS栈顶运算符if(Priority(x)>Priority(op))//运算符的优先级〉栈顶运算符{PushStack(&OS,x);OutQueue(&q,x);continue;}if(x[0]==';'&&op[0]==';')//扫描结束{PopStack(&NS,chResult);printf("=%s\n\n",chResult);break;}if(Priority(x)<=Priority(op))//不大于栈顶运算符{PopStack(&NS,num1);PopStack(&NS,num2);PopStack(&OS,op);Compute(num2,num1,op,chResult);PushStack(&NS,chResult);}}}}第三题:1、创建三个表Stu、Course、ScoreCREATETABLEStu(SnoCHAR(4)PRIMARYKEY,SnameCHAR(10),SexCHAR(4),AgeNUMERIC,BirthDayDATETIME,ClassCHAR(10),);CREATETABLECourse(CnoCHAR(2)PRIMARYKEY,CnameCHAR(10),ChourNUMERIC,);CREATETABLEScore(SnoCHAR(4),CnoCHAR(2),PRIMARYKEY(Sno,Cno),GradeNUMERIC,);2、向Stu表中插入数据/*插入数据*/InsertintoStu(Sno,Sname,Sex,Age,BirthDay,Class)values('0101','张强','男','20','1994-02-20','自动化01班');InsertintoStu(Sno,Sname,Sex,Age,BirthDay,Class)values('0102','李红','女','20','1994-08-10','自动化01班');InsertintoStu(Sno,Sname,Sex,Age,BirthDay,Class)values('0103','王涛','男','21','1993-05-18','自动化01班');InsertintoStu(Sno,Sname,Sex,Age,BirthDay,Class)values('0104','刘丽','女','19','1995-03-05','自动化02班');InsertintoStu(Sno,Sname,Sex,Age,BirthDay,Class)values('0105','孙东','男','21','1993-12-17','自动化02班');InsertintoStu(Sno,Sname,Sex,Age,BirthDay,Class)values('0106','王平','男','22','1992-11-30','自动化02班');InsertintoStu(Sno,Sname,Sex,Age,BirthDay,Class)values('0201','欧阳燕','女','20','1994-04-11','电子01班');InsertintoStu(Sno,Sname,Sex,Age,BirthDay,Class)values('0202','杨锐','男','20','1994-05-13','电子01班');InsertintoStu(Sno,Sname,Sex,Age,BirthDay,Class)values('0203','刘艳','女','18','1996-01-21','电子01班');InsertintoStu(Sno,Sname,Sex,Age,BirthDay,Class)values('0204','周宇','男','20','1994-07-10','电子01班');3、导入课程数据 InsertintoScore(Sno,Cno,Grade)values('0101','01','87');InsertintoScore(Sno,Cno,Grade)values('0102','01','90');InsertintoScore(Sno,Cno,Grade)values('0103','01','79');InsertintoScore(Sno,Cno,Grade)values('0104','01','89');InsertintoScore(Sno,Cno,Grade)values('0105','01','58');InsertintoScore(Sno,Cno,Grade)values('0106','01','77');InsertintoScore(Sno,Cno,Grade)values('0201','01','95');InsertintoScore(Sno,Cno,Grade)values('0202','01','80');InsertintoScore(Sno,Cno,Grade)values('0203','01','76');InsertintoScore(Sno,Cno,Grade)values('0204','01','70');InsertintoScore(Sno,Cno,Grade)values('0101','02','91');InsertintoScore(Sno,Cno,Grade)values('0102','02','88');InsertintoScore(Sno,Cno,Grade)values('0103','02','75');InsertintoScore(Sno,Cno,Grade)values('0104','02','91');InsertintoScore(Sno,Cno,Grade)values('0105','02','76');InsertintoScore(Sno,Cno,Grade)values('0106','02','76');InsertintoScore(Sno,Cno,Grade)values('0201','02','90');InsertintoScore(Sno,Cno,Grade)values('0202','02','84');InsertintoScore(Sno,Cno,Grade)values('0203','02','83');InsertintoScore(Sno,Cno,Grade)values('0204','02','57');2.SelectSname,Cname,GradefromStu,Course,ScorewhereStu.Sno=Score.SnoandCourse.Cno=Score.Cno;SelectdistinctStu.Sno,Sname,ClassfromStu,ScorewhereStu.Sno=Score.SnoandGrade<60;SelectSname,avg(Grade)PJCJ,sum(Grade)ZCJfromStu,ScorewhereScore.Sno=Stu.SnogroupbyStu.Sname;SelectSname,ClassfromStuwhereexists(Select*fromScorewhereStu.Sno=Score.SnoandScore.Cno='01'andScore.Grade>=85)andexists(Select*fromScorewhereStu.Sno=Score.SnoandScore.Cno='02'andScore.Grade>=85)UpdateCoursesetCname='网络技术'whereCno='01';UpdateStusetSname='zhangxu',Sex='m',age='20'whereSno='0101';UpdateScoresetGrade=60whereSnoin(SelectSnofromStuwhereSex='男')andGradebetween55and59;
printf("%s",epsn[i]);
//表达式求值
charx[MAX_LEN];//扫描的表达式
charop[MAX_LEN];//栈顶运算符
charnum1[MAX_LEN],num2[MAX_LEN];//两个操作数
charchResult[MAX_LEN];//运算结果
OutQueue(&q,x);//扫描表达式
PushStack(&OS,";");//压栈
while(true)
if(isdigit(x[0]))//是数
PushStack(&NS,x);//将数压栈
OutQueue(&q,x);
else//认为是运算符,没有考虑空格等
GetTopStack(&OS,op);//获得OS栈顶运算符
if(Priority(x)>Priority(op))//运算符的优先级〉栈顶运算符
PushStack(&OS,x);
continue;
if(x[0]==';'&&op[0]==';')//扫描结束
PopStack(&NS,chResult);
printf("=%s\n\n",chResult);
if(Priority(x)<=Priority(op))//不大于栈顶运算符
PopStack(&NS,num1);
PopStack(&NS,num2);
PopStack(&OS,op);
Compute(num2,num1,op,chResult);
PushStack(&NS,chResult);
第三题:
1、创建三个表Stu、Course、Score
CREATETABLEStu(
SnoCHAR(4)PRIMARYKEY,
SnameCHAR(10),
SexCHAR(4),
AgeNUMERIC,
BirthDayDATETIME,
ClassCHAR(10),
);
CREATETABLECourse(
CnoCHAR
(2)PRIMARYKEY,
CnameCHAR(10),
ChourNUMERIC,
CREATETABLEScore(
SnoCHAR(4),
(2),
PRIMARYKEY(Sno,Cno),
GradeNUMERIC,
2、向Stu表中插入数据
/*插入数据*/
InsertintoStu(Sno,Sname,Sex,Age,BirthDay,Class)
values('0101','张强','男','20','1994-02-20','自动化01班');
values('0102','李红','女','20','1994-08-10','自动化01班');
values('0103','王涛','男','21','1993-05-18','自动化01班');
values('0104','刘丽','女','19','1995-03-05','自动化02班');
values('0105','孙东','男','21','1993-12-17','自动化02班');
values('0106','王平','男','22','1992-11-30','自动化02班');
values('0201','欧阳燕','女','20','1994-04-11','电子01班');
values('0202','杨锐','男','20','1994-05-13','电子01班');
values('0203','刘艳','女','18','1996-01-21','电子01班');
values('0204','周宇','男','20','1994-07-10','电子01班');
3、导入课程数据
InsertintoScore(Sno,Cno,Grade)
values('0101','01','87');
values('0102','01','90');
values('0103','01','79');
values('0104','01','89');
values('0105','01','58');
values('0106','01','77');
values('0201','01','95');
values('0202','01','80');
values('0203','01','76');
values('0204','01','70');
values('0101','02','91');
values('0102','02','88');
values('0103','02','75');
values('0104','02','91');
values('0105','02','76');
values('0106','02','76');
values('0201','02','90');
values('0202','02','84');
values('0203','02','83');
values('0204','02','57');
2.
SelectSname,Cname,GradefromStu,Course,Score
whereStu.Sno=Score.SnoandCourse.Cno=Score.Cno;
SelectdistinctStu.Sno,Sname,ClassfromStu,Score
whereStu.Sno=Score.SnoandGrade<60;
SelectSname,avg(Grade)PJCJ,sum(Grade)ZCJfromStu,ScorewhereScore.Sno=Stu.SnogroupbyStu.Sname;
SelectSname,ClassfromStuwhereexists(Select*fromScorewhereStu.Sno=Score.SnoandScore.Cno='01'andScore.Grade>=85)
andexists(Select*fromScorewhereStu.Sno=Score.SnoandScore.Cno='02'andScore.Grade>=85)
UpdateCoursesetCname='网络技术'whereCno='01';
UpdateStusetSname='zhangxu',Sex='m',age='20'whereSno='0101';
UpdateScoresetGrade=60whereSnoin(SelectSnofromStuwhere
Sex='男')andGradebetween55and59;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1