关于SQL中join on 的用法神马的
发布网友
发布时间:2022-04-23 17:52
我来回答
共4个回答
热心网友
时间:2022-05-01 00:20
join on 就是表连接.
select * from table1 as t1 join table2 as t2 on(t1.a= t2.b) where t1.c = x order by t1.d desc;
等价于
select * from table 1 as t1 ,table2 as t2 where t1.a = t2.b and t1.c = x order by t1.d desc;
2个SQL语句对于数据库来说是一样的,执行计划都没有区别...
你可以试一下.
热心网友
时间:2022-05-01 01:38
SELECT 顾客号,顾客点菜表.菜编号,菜名,单价,数量;
FROM 顾客点菜表 JOIN 菜单表;
ON 顾客点菜表.菜编号 = 菜单表.菜编号;
WHERE 单价 >= 40;
ORDER BY 顾客点菜表.菜编号 DESC;
可以 替换为:
SELECT 顾客号,顾客点菜表.菜编号,菜名,单价,数量
FROM 顾客点菜表, 菜单表
WHERE
顾客点菜表.菜编号 = 菜单表.菜编号
AND 单价 >= 40
ORDER BY 顾客点菜表.菜编号 DESC
关于 JOIN 的具体例子, 可参考:
INNER / LEFT / RIGHT / CROSS / FULL JOIN
http://hi.baidu.com/wangqing999/blog/item/bc62b83cc2cb153eb9998fe2.html追问但是为什么出来的表格不一样?用where出来的只有几行~但是join on出来的却还要用滚轮翻页
热心网友
时间:2022-05-01 03:12
SELECT 顾客号,顾客点菜表.菜编号,菜名,单价,数量
FROM 顾客点菜表 and 菜单表 where 顾客点菜表.菜编号 = 菜单表.菜编号
and 单价 >=40 and 1=1 ORDER BY 顾客点菜表.菜编号 DESC;
热心网友
时间:2022-05-01 05:04
join on 相当于 inner join on 都是内连接 也等同于where 关联条件
也就是你问题的答案是YES!