在日常工作中数据库操作使用的比较多的是多表连接操作。
多表操作中分“主表”和“从表”,主表设有主键,从表设有外键,而多表操作就是主表的主键和对应从表的外键要相等,这样才能多表操作。
关键字:
inner join :内连接
left join :左外连接
right join: 右外连接
#用内连接查询学生的姓名和成绩(只查询有成绩的)
select x.name,s.grade from xinxi x inner join score s on x.id=s.xid;
select x.name,s.grade from score s inner join xinxi x on x.id=s.xid;
#用左外连接查询学生的姓名和成绩(如果主表在前查询结果有空值)
select x.name,s.grade from xinxi x left join score s on x.id=s.xid;
select x.name,s.grade from score s left join xinxi x on x.id=s.xid;
#用右外连接查询学生的姓名和成绩(如果主表在前查询结果有空值)
select x.name,s.grade from xinxi x right join score s on x.id=s.xid;`course`
select x.name,s.grade from score s right join xinxi x on x.id=s.xid;
#用笛卡尔积查询学生的姓名和成绩(只查询有成绩的)
select x.name,s.grade from xinxi x,score s where x.id=s.xid;
#三表连接查询学生的姓名、课程名和成绩
select x.name,c.name,s.grade from xinxi x
inner join score s on x.id=s.xid
inner join course c on c.id=s.cid;
|