|
Posted on 2007-08-22 23:17 Java蜘蛛人 --郑成桥 阅读(2042) 评论(0) 编辑 收藏
今天就随便的讲讲. 内连接... 假如 你有2张表.. 一个是学生表. 一个是成绩表. 你要查一个人的表的成绩. .你就要用到内连接 把2个表连接起来... 下面简单的教大家用 sql 来个内连接.~ 按照这步奏做..
1 create database zcq --建数据库 2 3 create table student /**//* 建一个学生表.. */ 4 ( 5 sno char(5), 6 sname char(5), 7 ssex char(2), 8 sage int 9 ) 10 /**//* 插入一些数据 */ 11 12 insert into student values ('001','小桥','男',18) 13 insert into student values ('002','宝玉','女',20) 14 insert into student values ('003','哈哈','男',17) 15 insert into student values ('004','暗暗','男',16)
 /**//* 再建一个成绩表 */
create table score
(
sno char(5),
cno int,
score int
)

insert into score values ('001','1',80)
insert into score values ('002','2',90)
insert into score values ('003','3',50)
insert into score values ('004','4',80)
insert into score values ('005','5',90)
insert into score values ('006','6',100)
1 create table course 2 ( 3 cno int, 4 chame char(5) 5 ) 6 7 8 9 insert into course values (1,'c') 10 insert int o course values (2,'sql') 11 insert into course values (3,'java') 12
查询他们最高分 最低分..
1 2 --分数最高 3 select top 1 cno,avg(score) 4 from score 5 group by cno 6 --having avg(score)>0 7 order by cno 8 9 10 --分数最低 11 select top 1 cno,avg(score) 12 from score 13 group by cno 14 --having avg(score)>0 15 order by cno desc
--查询一个叫宝玉的总分 和平均分
select sname , sum(score) as 总分,avg(score) as 平均分 from student inner join score on(student.sno=score.sno)
where sname like '%玉'
group by sname




--查询宝玉的sql成绩
select sname,score,sage,chame from score inner join student on(student.sno=score.sno) inner join course on(score.cno=course.cno)
where sname='宝玉' and chame='sql'
--年龄在17-20岁之间的女生
select *from score inner join student on(student.sno=score.sno) inner join course on(score.cno=course.cno)
where sage between 15 and 20 and ssex='女' and chame='sql'


___作者: 郑成桥
|