关于Oracle数据库编程题的解答。谢谢各位!

关于Oracle数据库编程题的解答。谢谢各位!,第1张

1、查询姓“李”的老师的个数;

SELECT COUNT(Tno) FROM Teacher WHERE Tname LIKE '李%'

2、查询学过“c001”并且也学过编号“c002”课程的同学的学号、姓名;

SELECT Sno, Sname

FROM Student

WHERE sno IN(SELECT sno

FROM (SELECT Sno FROM SC WHERE Cno = 'c001') t1

(SELECT Sno FROM SC WHERE Cno = 'c002') t2

WHERE t1sno = t2sno)

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

SELECT Sno, Sname

FROM student

WHERE Sno IN(SELECT SC

FROM SC

WHERE CNO IN (SELECT CNO FROM Course WHERE Cname = '叶平')

GROUP BY SC HAVING COUNT(CNO) = (SELECT COUNT(CNO) FROM Course WHERE Cname = '叶平'))

4、查询“c001”课程比“c002”课程成绩高的所有学生的学号

SELECT C1SC

FROM (SELECT SC, Score FROM SC WHERE Cno = 'c001') c1

(SELECT SC, Score FROM SC WHERE Cno = 'c002') c2

WHERE c1SC = c2SC

AND c1Score > c2Score

如果只有C1,而没有C2成绩,用这个好一点

SELECT SC

FROM (SELECT SC, Score FROM SC WHERE Cno = 'c001') c1

left join (SELECT SC, Score FROM SC WHERE Cno = 'c002') c2

ON c1SC = c2SC AND c1Score > c2Score

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

SELECT Sno, AVG(score)

FROM SC GROUP BY Sno Having AVG(score) > 60

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

SELECT stuSno, stuSname, COUNT(Cno), SUM(score)

FROM Student stu, SC

WHERE stuSno = Scsno

GROUP BY stusno, stuSname

7、查询没有学全所有课的同学的学号、姓名;

SELECT Sno, Sname

FROM SC

WHERE Sno NOT IN (SELECT Sno

FROM SC

GROUP BY SC

HAVING COUNT(CNO) < (SELECT COUNT(DISTINCT CNO) FROM SC))

一个教材管理系统,给你参考下

void shumingsearch(struct book head) /按教材名称查找/

{ struct book p;

char name[20];

int c;

if(head==NULL) {printf("未打开任何文件");getchar();return;}

printf("1,查找专业 2,查找教材名称:");

scanf("%d",&c);

getchar();

if(c==2)

printf("请输入要查找的教材名称:");

else printf("请输入要查找的专业:");

gets(name);

p=head;

do{ if(c==2)

if(strcmp(p->shuming,name)==0)

{

printf("教材编号:%s\n教材名称:%s\n数量:%d\n价格:%d\n专业:%s\n作者:%s\n出版社:%s\n备注:%s\n",p->number,p->shuming,p->shuliang,p->jiage,p->zhuanye,p->zuozhe,p->chubanshe,p->beizhu);

}

if(c==1)

if(strcmp(p->zhuanye,name)==0)

{

printf("教材编号:%s\n教材名称:%s\n数量:%d\n价格:%d\n专业:%s\n作者:%s\n出版社:%s\n备注:%s\n",p->number,p->shuming,p->shuliang,p->jiage,p->zhuanye,p->zuozhe,p->chubanshe,p->beizhu);

}

p=p->next;

}while(p!=NULL);

printf("查找完成");

return;

}

struct book add(struct book head) /增加记录/

{ struct book p,e,f,h;

if(head==NULL) {printf("未打开任何文件");getchar(); return NULL;}

h=f=e=head;

p=(struct book )malloc(sizeof(struct book));

printf("\n教材编号:");

gets(p->number);

printf("\n教材名称:");

gets(p->shuming);

printf("\n数量:");

scanf("%d",&p->shuliang);

printf("\n价格:");

scanf("%d",&p->jiage);

getchar();

printf("\n专业:");

gets(p->zhuanye);

printf("\n作者:");

gets(p->zuozhe);

printf("\n出版社:");

gets(p->chubanshe);

printf("\n备注:");

gets(p->beizhu);

if(strcmp(f->number,p->number)>0) { p->next=f;h=p;printf("\n添加成功");return h;}

if(f->next==NULL) { f->next=p;p->next=NULL;printf("\n添加成功");return h;}

do{

if(f->next!=NULL)

if(strcmp(f->number,p->number)>0)

{

e->next=p;p->next=f;printf("\n添加成功");return h;

}

if(f->next==NULL)

{

f->next=p;

p->next=NULL;

printf("\n添加成功");

return h;

}

f=f->next;

e=e->next;

}while(1);

}

struct book delet(struct book head) /删除记录/

{ struct book p,e;

char num[20];

if(head==NULL) {printf("未打开任何文件");getchar();return NULL;}

printf("请输入要删除的教材编号:");

scanf("%s",num);

p=e=head;

if(strcmp(p->number,num)==0) { head=head->next; print(head);return head;}

else p=p->next;

do{

if(strcmp(p->number,num)==0)

{

if(p->next!=NULL)

e->next=p->next;

if(p->next==NULL) e->next=NULL;

print(head);

return head;

}

p=p->next;

e=e->next;

}while(p!=NULL);

printf("搜索完毕,未找到该记录");

return head;

}

struct book change(struct book head) /修改记录/

{ struct book p;

char num[20];

if(head==NULL) {printf("未打开任何文件");getchar();return NULL;}

printf("请输入要修改的教材编号:");

scanf("%s",num);

getchar();

p=head;

do{

if(strcmp(p->number,num)==0)

{

printf("教材编号:%s\n教材名称:%s\n数量:%d\n价格:%d\n专业:%s\n作者:%s\n出版社:%s\n备注:%s\n",p->number,p->shuming,p->shuliang,p->jiage,p->zhuanye,p->zuozhe,p->chubanshe,p->beizhu);

printf("\n教材编号:");

gets(p->number);

printf("\n教材名称:");

gets(p->shuming);

printf("\n数量:");

scanf("%d",&p->shuliang);

printf("\n价格:");

scanf("%d",&p->jiage);

getchar();

printf("\n专业:");

gets(p->zhuanye);

printf("\n作者:");

gets(p->zuozhe);

printf("\n出版社:");

gets(p->chubanshe);

printf("\n备注:");

gets(p->beizhu);

printf("修改成功");

return head;

}

p=p->next;

}while(p!=NULL);

printf("未找到要修改的记录");

return head;

}

int mima()

{ FILE fp;

char mima1[20],mima2[20];

if((fp=fopen("mima","r"))==NULL)

{ printf("尚未设置密码请输入:");

scanf("%s",mima1);

printf("请再次输入密码:");

scanf("%s",mima2);

if(strcmp(mima1,mima2)!=0) { printf("两次密码不一样");return 0;}

else {

fp=fopen("mima","w");

fprintf(fp,"%s",mima1);

printf("密码设置成功");

return 1;

}

}

printf("请输入初始化密码:");

scanf("%s",mima1);

fscanf(fp,"%s",mima2);

if(strcmp(mima1,mima2)==0)

{

printf("密码正确");

printf("请输入要删除的文件名:");

scanf("%s",mima1);

if(remove(mima1)==0)

{

printf("删除成功");

getchar();

return 1;

}

else {

printf("删除失败,请检查是否存在该文件或路径是否正确");

getchar();

return 0;

}

}

else {

printf("密码错误");

getchar();

return 0;

}

}

void main()

{

struct book head=NULL;

char i;

getch();

system("cls");

do{

printf(" ☆★☆★☆★ 教材管理系统 ☆★☆★☆★\n");

printf("m--菜单 h--帮助");

printf("\n请输入命令:");

i=getch();

if(i=='h')

{ printf("\n1,录入教材信息的时候,每一个项目都必须输入相应的内容。\n2,修改,增加,删除,查找记录前必须先打开一个文件,修改完后必须记得保存教材信息。\n3,必须使用正确的路径打开文件,建议保存文件时候不用输入路径(此时是默认路径,即保存在程序目录下。)");

getch();

break;

}

if(i=='m')

break;

system("cls");

}while(i!='m'||i!='h');

system("cls");

do{

printf(" ☆★☆★☆★ 教材管理系统 ☆★☆★☆★\n");

printf("┌————-———┐\n");

printf("│1,录入教材信息│\n│2,显示教材信息│\n│3,打开一个记录│\n│4,编辑一个记录│\n│5,保存教材信息│\n│6,查找记录 │\n│s,初始化系统 │\n│e,退出系统 │\n");

printf("└———————-┘\n");

printf("\n请输入功能编号:");

i=getch();

system("cls");

switch(i)

{

case '1': head=creat();save(head);break;

case '2': print(head);break;

case '3': head=openfile();break;

case '4': system("cls");

printf("┌————-———┐\n");

printf("│1,增加一个记录│\n");

printf("│2,删除一个记录│\n");

printf("│3,修改一个记录│\n");

printf("└———————-┘\n");

i=getch();

switch(i)

{

case '1':

head=add(head);break;

case '2':

head=delet(head);break;

case '3': head=change(head);break;

default: break;

}

break;

case '5': save(head);break;

case '6': shumingsearch(head);break;

case 's': mima();break;

case 'e': exit(0);

default :break;

}

system("cls");

}while(1);

}

你是什么数据库啊?sqlserver吗?还是access?还是其他数据库?sqlserver有那个sqlservermanagerstudio,可以创建表老的版本用的是查询分析器ACESS2007(1)点击“创建”--点击“查询设计”(2)点击关闭(3)点击左上角的"SQL视图"就可以打开SQL窗口了2、ACCESS2003(1)点击对象里的“查询”(2)点击“在设计视图创建查询”,再点击“关闭”(3)再点击左上角的"sql"(4)就可以输入sql语句了

以上就是关于关于Oracle数据库编程题的解答。谢谢各位!全部的内容,包括:关于Oracle数据库编程题的解答。谢谢各位!、用C或C++编程实现数据库的查询,添加,删除,修改功能。、第二次考核任务: 一、目的: 编写数据查询以及创建视图的SQL语句。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9400823.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存