联合查询分为左联、内联、右联,
成都创新互联公司专注于企业网络营销推广、网站重做改版、海湖新网站定制设计、自适应品牌网站建设、H5开发、商城网站建设、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为海湖新等各大城市提供网站开发制作服务。
左联:select a.xxx,b.ccc from tableA a left join tableB b on a.id=b.id;
内联:select a.xxx,b.ccc from tableA a inner join tableB b on a.id=b.id;
右联:select a.xxx,b.ccc from tableA a right join tableB b on a.id=b.id;
我给你写了一写,你看一下,行不行
select *
from category cg, commodity cd, photo ph
where cg.categoryid = cd.categoryid
and ph.commodityid = cd.commodityid
order by commodityid desc
原文: RelaxHeart网 - Tec博客: 库Join查询:内联、左外联、右外联、取交集
示例:
在MySQL创建两张表:a_table、b_table
随便插入几条数据:
组合两个表中的记录,返回关联字段相符的记录,也就是两个表的交集
left join 是left outer join的简写,它的全称是左外连接,是外连接中的一种。
左表全部记录都会显示出来,右表只显示出满足条件的记录,不足的列全部显示NULL
right join 是 right outer join的简写,它的全程是右外连接,是外链接的一种。
右表全部记录都会显示出来,左表只显示满足条件的记录,不足的列全部显示NULL
有了内联、外联查询,有没有取并集查询呢?当然也有了:
注意:查询报错了!!!
左外查询 union 右外查询
UNION定义:UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
注意:
UNION 和 UNION ALL 区别:UNION ALL会列出所有结果,有重复,UNION没有重复
inner join: 如果查询的表中都有至少一个匹配,则返回行
left join: 即使右表中没有匹配,也从左表返回所有的行
right join: 即使左表中没有匹配,也从右表返回所有的行
full join: 只要其中一个表中存在匹配,就返回行,但是在mysql中不支持
union:合并多个查询语句的结果集(去重)
union all:合并多个查询语句的结果集(不去重)
更多文章: RelaxHeart网更多博文
这是多表查询的名词。 比如两个表A,B ,其中A表内有ID列,B表有aID,使用A inner join B on A.ID=B.aID产生的结果是:只有满足A 的ID和B的aID 相等的值才显示出来,并且每个单元格的值(ID,aID)不可能有空的。而left join 产生的结果是:以A表ID为标准,查找ID=aID 的结果,如果B的aID不存在与之对应的值,则新结果的aID这个单元格是空的。
sql内联语法基础语法(inner join)
SELECT * FROM 表1 inner join 表2 on 表1.userid=表2.userid
sql内联语法说明:上面的语句就是查询表1和表2两个表,只要两个表中的userid字段相同的话就拼成一行显示出来。
45it.com注:以上语法同等select * from 表1,表2 where 表1.userid=表2.userid,而使用sql内联的话,将会提高很多效率。
sql左联语法基础语法(left outer join)
SELECT * FROM 表1 LEFT OUTER JOIN 表2 ON 表1.userid=表2.userid
sql左联语法说明:显示表1中所有的行,并且把表2中所有符合条件的数据都显示到结果集中,如果表2中不符合的数据的都不会显示在结果集中,并且以null显示。