-- MySQL 连接的概念和类型
-- MySQL 交叉连接、内连接和外连接
-- 连接的关键字join
select * from mytable01;
select * from mytable02;
-- mytable01是2*4
-- mytable02是4*8
-- 有一列是一样的cid
-- 交叉连接,变成了一个2+4列,4*8行的表
select * from mytable01, mytable02;
select * from mytable01 cross join mytable02;
-- 内联接,mytable01,mytable02左右顺序一样
-- 内联接就是在交叉连接的而基础上加上条件
select * from mytable01,mytable02 where mytable01.cid=mytable02.tid;
select * from mytable01 inner join mytable02 where mytable01.cid=mytable02.tid;
-- 外链接是左右不对称的,分为左连接,右链接
-- 准备3个表
-- users,两个字段uid,name
-- groups,两个字段gid,name
-- users_groups,两个表的关系表,uid对应的gid
select * from users;
select * from groups;
select * from users_groups;
-- 内联接
select users.name as uname, groups.name as gname from users,groups,users_groups
where users.uid= users_groups.uid and groups.gid = users_groups.gid;
-- 左连接,左表信息全部保留,连接另一个表的信息
select * from users left join users_groups on users.uid = users_groups.uid;
select * from users left join users_groups on users.uid = users_groups.uid where users_groups.uid=100;
-- 右连接,右表(groups)信息全部保留,连接另一个表的信息
-- 因为两个表中都有gid,所以using(gid)
select * from users_groups right join groups using(gid);
MySQL学习----MySQL 连接和联合----15MySQL 交叉连接、内连接和外连接
最新推荐文章于 2022-10-12 19:14:38 发布