【mysql 数据库】08 关联

建表语句:

  1. create table class(id int auto_increment primary key,name varchar(20) not null ,stuNum int not null);
     
  2. 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));

     
  3. 插入一些数据

    插入班级:

     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 ,所以插不进去

     
  4. 关联查询

    select students.name,class.name from class inner join students on class.id=students.classid;


     
  5. 分类

    表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;
发布了105 篇原创文章 · 获赞 104 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_38114487/article/details/105446193