建表語句:
- create table class(id int auto_increment primary key,name varchar(20) not null ,stuNum int not null);
- create table students(id int auto_increment primary key,name varchar(20) not null ,gender bit default 1, classid int not null,foreign key(classid) references class(id));
- 插入一些數據
插入班級:
insert into class values(0,'python01',55),(0,'python02',50),(0,'python03',60),(0,'python04',80);
插入學生:
insert into students values(0,'tom',1,1);
insert into students values(0,'jack',1,2);
因爲 classid 沒有 10 ,所以插不進去
- 關聯查詢
select students.name,class.name from class inner join students on class.id=students.classid;
- 分類
表A inner join 表B
表A與表B匹配的行會出現在結果集中
表A left join 表B
表A與表B匹配的行會出現在結果集中,外加表A獨有的數據,未對應的數據使用null填充
select students.name,class.name from class left join students on class.id=students.classid;
表A right join 表B;
表A與表B匹配的行會出現在結果集中,外加表B中獨有的數據,未對應的數據使用null填充
select students.name,class.name from class right join students on class.id=students.classid;