一般情况,我们作左连接 select * from A left join B on A.id=B.a_id;一定认为A就是主表,其实还有另外的情况,我们若将sql改写成 select * from A left join B on on A.id=B.a_id where B.id<cont(常数).此时B表就作为连接的主表了.具体示例见下: 新建表 A 新建表B 1.查询sql SELECT * FROM A a LEFT JOIN B b ON a.category_id =
/* sql server几种Join的区别测试方法 主要来介绍下Inner Join , Full Out Join , Cross Join , Left Join , Right Join的区别. Inner Join:筛选两边都有的记录 Full Out Join:两边都筛选出来,匹配能匹配的,不能匹配的用NULL列出 Cross Join:列出两边所有组合,也称为笛卡尔集 A×B Left Join:以左边的表为主表,列出主表所有记录,匹配能匹配的,不能匹配的用 NULL列出 Righ
) AS t1 LEFT JOIN (SELECT * FROM dbo.xcqy2017_News_Classification) AS t2 ON t2.Ncid = t1.Ncid left join左链接 以左表为主表 ) AS t1 RIGHT JOIN (SELECT * FROM dbo.xcqy2017_News_Classification) AS t2 ON t2.Ncid = t1.Ncid right join右链接 以右表为主表 SELECT CASE THEN '新闻
用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接.外连接( 左(外)连接.右(外)连接.全(外)连接). MySQL版本:Server version: 5.6.31 MySQL Community Server (GPL) 数据库表:a_table.b_table 主题:内连接.左连接(左外连接).右连接(右外连接).全连接(全外连接) 表为: 内连接: 1. 交叉连接查询(基本不会使用-得到的是两个表的乘积)
注:该MySql系列博客仅为个人学习笔记. 同样的,使用goods表来练习子查询,表结构如下: 所有数据(cat_id与category.cat_id关联): 类别表: mingoods(连接查询时作测试) 一.子查询 1.where型子查询:把内层查询的结果作为外层查询的比较条件 1.1 查询id最大的一件商品(使用排序+分页实现) :mysql> SELECT goods_id,goods_name,shop_price FROM goods ORDER BY goods_id DESC L
----------------------INNER JOIN--------------------------- 1. 三表联合查询 select XX,XX from a , b , c 笛卡尔积,等同于cross join 2. cross join --列出两边所有组合,也叫笛卡尔集A.Rows * B.Rows select * from Sales S cross join Customers C 3. inner join = join --两边都有的才筛选出来