数据库知识

谁会做这几题?我似乎选修的,刚学,不太懂,想请教一下高手!会的请将查询语句写下!1、在“手镯营销系统”数据库中,从“发票信息”表、“顾客信息”表、“手镯信息”表和“销售明... 谁会做这几题?我似乎选修的,刚学,不太懂,想请教一下高手!会的请将查询语句写下!

1、 在“手镯营销系统”数据库中,从“发票信息”表、“顾客信息”表、“手镯信息”表和“销售明细信息”表中查询各个顾客的购买珠宝信息。(提示:包括顾客姓名,所购买珠宝的名称以及购买日期)
2、 在“手镯营销系统”数据库中,从“检测信息”表和“手镯商信息”表中用内连接查询珠宝的检测信息(提示:包括检测人姓名、珠宝商姓名及核对信息)
3、 分别用左外连接、右外连接和完全连接完成该题目,并比较执行结果:
在“手镯营销系统”数据库中,从“销售明细信息”表和“手镯信息”表中查询珠宝名称及售出价格信息。
4、 在“手镯营销系统”数据库中,从“手镯商信息”
表中查询珠宝商信息(包括姓名、地址及联系电话),从“顾客信息”表中查询顾客信息(包括姓名、地址及联系电话)

例题:、从“手镯营销系统”数据库的“手镯信息”表中,查询“是否售出”为“否”的数据信息。
语句为:
select *
from 手镯信息
where 是否售出=‘否’
展开
 我来答
zhang198679
2010-05-09 · TA获得超过118个赞
知道答主
回答量:97
采纳率:100%
帮助的人:91.9万
展开全部
看看我以前做过的经典数据库语法练习题
表结构:
student(sno,sname,sex,age.deptno)
department(dno,dname)
course(cno,cname,grade,teachno)
teacher(tno,tname)
stu_cors(id,stuno,corsno,score)
--一检索学习jsp这门课程的学生,列出学生的名字
select student.sname
from student
where sno in(select stuno from stu_cors where corsno =(select cno from course where cname='jsp'))
go

select student.sno
from student inner join stu_cors on student.sno=stu_cors.stuno
inner join course on corsno=course.cno
where course.cname='jsp'

select sname
from student
where sno in(select stu_cors.stuno
from stu_cors inner join course on stu_cors.corsno=course.cno where course.cname='jsp')

--二检索java课程有多少学生学习.
select COUNT(stuno) as 'JAVA学习人数'
from stu_cors
where corsno =(select cno from course where cname='java')

--三检索各科课程各有多少学生学习,
select course.cname,COUNT(stu_cors.stuno) as '学习人数'
from stu_cors inner join course on stu_cors.corsno=course.cno
group by course.cname

--四检索学习了jsp和servlet两门课程的学生有多少
select COUNT(sno) as 'jsp和servlet课程的学生人数'
from student
where sno in(select stu_cors.stuno
from stu_cors inner join course on stu_cors.corsno=course.cno
where course.cname='jsp') and
sno in(select stu_cors.stuno
from stu_cors inner join course on stu_cors.corsno=course.cno
where course.cname='jsp')

--五检索学习了超过两门课程的学生有多少
select corsno,COUNT(stuno) as '学习超过两门课程的学生人数'
from stu_cors
group by corsno having COUNT(stuno)>2 order by corsno

--六检索重来没有学生学习过的课程,课程的名字
select cname
from course
where cno not in(select corsno from stu_cors )
--七检索老师A有多少学生
select COUNT(stuno) as '张老师的学生人数'
from stu_cors
where corsno in(select course.cno
from course inner join teacher on course.teachno=teacher.tno
where teacher.tname='张华' )

--九检索一共有多少老师,每一个老师所授课程是什么
select teacher.tno,course.cname
from course join teacher on course.teachno=teacher.tno
group by teacher.tno,course.cname

--十检索每个老师有多少个学生
select teacher.tno,teacher.tname ,COUNT(stu_cors.stuno) as '学生人数'
from teacher inner join course on teacher.tno=course.cno
inner join stu_cors on course.cno=stu_cors.corsno
group by teacher.tno,teacher.tname order by teacher.tno

--十一检索授课超过两门的老师
select teacher.tno,COUNT(course.cno) as '授课超过两门的老师'
from teacher inner join course on teacher.tno=course.teachno
group by teacher.tno having(COUNT(course.cno)>2) order by teacher.tno

--十三检索A老师所授课程被学生全部学习的学生的名字.
select sname
from student
where sno (select stuno from stu_cors inner join )

--查询选修人数超过人的课程的名字,以及每门课的选课总人数,并将结果按照人数的升序排序
select teacher.tno,COUNT(stu_cors.stuno) as '选课总人数'
from teacher inner join course on teacher.tno=course.teachno
inner join stu_cors on course.cno=stu_cors.corsno
group by teacher.tno having(COUNT(stu_cors.stuno)>350) order by count(stu_cors.stuno) asc

--查询每门课的成绩都比这门课的其他同学高的学生的学号
select stuno
from stu_cors
where
group by corsno
--查询每个同学的学号和姓名以及这个同学成绩为优秀的课程的门数。
select student.sno,student.sname,max(stu_cors.score)
from student inner join stu_cors on student.sno=stu_cors.stuno
group by student.sno,student.sname

--查询其他系的同学的年龄比‘软件工程系’的某个学生的年龄小的学生的学号,姓名和系别
--查询每个系中年龄高于这个系的平均年龄的学生的学号和姓名、年龄
select sno,sname,age
from student
group by deptno,sno,sname,age having(age>AVG(age))

--查询没有选课的学生的学号和姓名
select sno,sname
from student
where sno not in(select sno from stu_cors)
go

--查询每个同学成绩高于自己选修课程的平均分的学生的学号和选修课程的课号
select stuno,corsno
from stu_cors
group by stuno,corsno,score having(score>AVG(score))
--查询每个学生以及选修课程的情况(要求使用做外连接)
select student.sno,student.sname,course.cname
from student inner join stu_cors on student.sno=stu_cors.stuno
left outer join course on stu_cors.corsno=course.cno
order by student.sno
go
--自己举例实现带有ANY和ALL谓词的例子,各举一个例子
--查询其他系中比天文系所有学生年龄都小的学生姓名及年龄。
select sname,age,deptno
from student
where age<any(select student.age
from student inner join department on student.deptno=department.dno
where department.dname='天文系') and
deptno <>(select dno from department where dname='天文系')
go

--查询全体学生的信息,查询结果按所在系的系名升序排列,同一系的学生按年龄降序排列。
select student.sno,student.sname,department.dname,student.ssex,student.age
from student,department
where student.deptno = department.dno
order by department.dname ASC,student.age DESC
go
--查询选修课门数等于或大于门的学生的平均成绩和选课门数。
select stuno,convert(numeric(8,2),AVG(score)) as '平均成绩',COUNT(corsno) as '选课门数'
from score
group by stuno having(COUNT(corsno)>2) order by stuno
go
--查询计算机系修数据结构课程的学生的修课成绩,要求列出学生姓名、课程名和成绩。
select student.sname,course.cname,score.score
from student inner join score on student.sno=score.stuno
inner join course on score.corsno=course.cno
where course.cname='c199' order by student.sname
go
--查询学生的选课状况,包括选了课程的学生和没有选课的学生。
select student.sname,count(score.corsno) as '选课状况'
from student left join score on student.sno=score.stuno
group by student.sname
go

--查询选修了“C06”课程,且成绩高于此课程平均成绩的学生学号和成绩。
select stuno,corsno,score
from score
where corsno=(select cno from course where cname='c100') and
score >
--删除计算机系所有不及格学生的选课记录。
select id,stuno,corsno,score
from score
where score<10
go
--创建计算机系学生的选课视图view001,包括学生号、姓名、性别、年龄、系、课程号、课程名及选课成绩。
create view viewScore
as
select student.sno,student.sname,student.ssex,student.age,department.dname,course.cno,course.cname,score.score
from student,department,score,course
where student.deptno = department.dno and student.sno=score.stuno and score.corsno = course.cno order by student.sno
go
--在学生表的年龄列上建立一索引,索引名字为ix_age。
create index ix_age on student(age)
go
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
芝花香AH
高粉答主

2020-01-20 · 关注我不会让你失望
知道答主
回答量:9.3万
采纳率:2%
帮助的人:4856万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式