周郑

多表查询:左连接、右连接、内连接

发布时间:7年前浏览量: 3039 ℃评论数:暂未开放

表和表关联分为几种类型,所以多表的查询也有几种类型。

内连接:inner join

外连接:左外连接   left [outer] join  右外连接   right [outer] join

(1)    内链接:只返回两个表中满足条件的记录信息,即:两个表中其中一个表的某一行不存在,则总的结果就不会显示这一行。

-- 内链接查询
select goods.id, goods.goods_name, brand.brand_name, category.cate_name from goods
inner join brand on goods.brand_id=brand.bid
inner join category on goods.cate_id=category.cid;

另外:类似于内连接的多表查询

      语法 select 字段列表 from 1,2,3...... where 连接条件1 and 连接条件2  .......

select id,goods_name,cate_name,brand_name,price from goods as g,brand as b,category as c where g.brand_id=b.bid and g.cate_id=c.cid and price>3000;

 

2)左外连接:显示左表goods全部记录及右表brand中符合连接条件的记录。即:若右表bandband.bid不存在的行就查不到,但总的都会显示,右表band只显示符合条件的记录,没查到的用null显示。

-- 左外链接
select goods.id, goods.goods_name, brand.brand_name, brand.cate_name from goods
left join brand on goods.brand_id=brand.bid
left join category on goods.cate_id=category.cid;

3)右外连接:显示左表goods中符合连接条件的记录及右表brand全部记录。 即若左表goodsgoods.bid不存在的行就查不到,但总的都会显示,左表goods只显示符合条件的记录,没查到的用null显示。

-- 右外链接
select goods.id, goods.goods_name, brand.brand_name, brand.cate_name from goods
right join brand on goods.brand_id=brand.bid
right join category on goods.cate_id=category.cid;


左连接、右连接、内连接

微信扫码打赏

打赏排行榜

| 施主 | 时间 | 方式 | 金额 |

曾 俊 2020-02-16 微信打赏 ¥10.00

王 强 2020-01-24 微信打赏 ¥5.00

莫国成 2019-07-20 微信打赏 ¥ 50.00

说明:打赏记录每日24:00:00更新,50%用于无名公益!

1 2 3

手机扫码访问