1.左连接 select a.filed1,a.filed2,b.filed1 from a (左表) left join b(右表) on a.commonfiled = b.commonfiled 查询思路:按照匹配字段(外键),b表记录与a表记录进行逐一匹配,若有n条匹配,则形成n行.若无匹配,则左表中得记录是全的,即使右表没有匹配的字段存在 2.右连接 select a.filed1,a.filed2,b.filed1 from a (左表) right join b(右表) on a.
实践是最好的检验,一直都对这几个连接查询出来的结果有什么不同不大理解,然后自己放一块查询比较了一下,用结果来说话~ 先建两张表如下: t1: id name age 1 张三 18 2 李四 25 t2: id name age 1 王五 25 2 大白 30 1.交叉连接:也叫笛卡尔积 select * from t1 cross join t2; /*不带查询条件的交叉连接/ select * from t1 ,t2;/*这样默认是cross join/ select * from t1 c
1.内连接.两个表的公共部分用Inner join,Inner join是交集的部分. Select * from TableA A inner join TableB B on A.key=B.key 2.左外连接.A表和B表的共有,加上A的独有,简称全A. Select * from TableA A left join TableB B on A.key=B.key 红色部分是两表的公有部分,此时8号记录是A表的独有,右边的部门表并没有满足的就用null补齐. 3.右外连接.A表和B表的共
1:mysql的内连接: 内连接(inner join):显示左表以及右表符合连接条件的记录: select a.goods_id,a.goods_name,b.cate_name from tdb_goods a,tdb_goods_cate b where a.cate_id = b.cate_id; <==============上下两种写法等价===============> select c.goods_id,c.goods_name,d.cate_name from tdb_goo
sql左外连接和右外连接的区别 两个表:A(id,name)数据:(1,张三)(2,李四)(3,王五)B(id,name)数据:(1,学生)(2,老师)(4,校长) 左连接结果:select A.*,B.* from A left join B on A.id=B.id;1 张三 1 学生2 李四 2 老师3 王五 NULL NULL 右链接结果:select A.*,B.* from A right join B on A.id=B.id;1 张三 1 学生2 李四 2 老师NULL NU
内连接,左外连接,右外连接都是数据库的常用连接与使用手段 内连接 select * from assets_car c inner join category c on a.id = c.id; 左外连接 select * from assets_car c left join category c on a.id = c.id; 右外连接 select * from assets_car c right join category c on a.id=c.id; 模糊查询 select *
关于自连接.左外连接.右外连接.全连接: 简单来讲,随便来个例子: A表 B表 id name id name 1 a 1 b 2 b 3 c 4 c 内连接就是左表和右表相同的数据: select * from A inner join B on A.id=B.id id name id name 1 a 1 b 外连接分为:左外连接.右外连接.全外连接 左外连接就是以左表为准,去匹配右表,左表有多少条数据,结果就是多少条数据 select * from A left jo