数据库的内连接查询
数据库查询时,用户需要查询的数据有时并不都在一个数据表中,可能涉及一个以上的表,这时就要使用多表查询
多表查询是将多个表连接在一起的查询,也称为连接查询
根据查询的需要,连接查询主要分为内连接和外连接
内连接查询简介
内连接查询是将表中的一些记录按照一定条件与其它表的一些记录连接其起来,连接条件通常是表间列的相等关系
在内连接查询中,只有满足条件的元组才能出现在结果集合中
内连接是多表查询的主要方式
实例一:查询所有学生的学号、姓名、课程编号、平时成绩和期末成绩
select student.sno,sname,cno,uscore,undscore
form strudent,score
where student.sno=score.sno
或者
select student.sno,sname,cno,uscore,endscore
from student inner join score
on student.snd=score.sno
实例2:查询所有男生的学号、姓名、课程编号、平时成绩和期末成绩
select student.sno,sname,cno,uscore,endscore
form student,score
where student.sno=score.sno and sex=‘男’
或者
select student.sno,sname,cno,uscore,endscore
from student inner join score
on student.sno=score.sno
where sex=‘男’
查询所有学生的学号、姓名、课程编号、课程成绩
select sudent.sno,sname,cname,uscore,endscore
from student,scourse,score
where student.sno=score.sno and cource.cno=score.cno
或者
select student.sno,sname,cname,uscore,endscore
form student inner join score on student.sno=score.sno
inner join course on scourse.cno=score.cno
查询每门课程的课程号、课程及其选课人数
select score.cno,cname,count(*) as sum
form course,scoure
where course.cno=score.cno
group by score.cno,cname