MySQL学习----MySQL 连接和联合----15MySQL 交叉连接、内连接和外连接

-- 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);











  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值