select 字段 from 表 1 inner join 表 2 on 连接条件 and 其他条件;
案例:显示SMITH的名字和部门名称
-- 用前面的写法select ename, dname from EMP, DEPT where EMP .deptno =DEPT .deptno andename= 'SMITH' ;-- 用标准的内连接写法select ename, dname from EMP inner join DEPT on EMP .deptno =DEPT .deptno andename= 'SMITH' ;
外连接分为左外连接和右外连接?
案例:
-- 建两张表create table stu (id int , name varchar ( 30 )); -- 学生表insert into stu values ( 1 , 'jack' ),( 2 , 'tom' ),( 3 , 'kity' ),( 4 , 'nono' );create table exam (id int , grade int ); -- 成绩表insert into exam values ( 1 , 56 ),( 2 , 76 ),( 11 , 8 );
查询所有学生的成绩,如果这个学生没有成绩,也要将学生的个人信息显示出来
?-- 当左边表和右边表没有匹配时,也会显示左边表的数据
select * from stu left join exam on stu .id =exam .id ;
select 字段 from 表名 1 right join 表名 2 on 连接条件;
select * from stu right join exam on stu .id =exam .id ;
?