如何转换旧SQL?
我正在将不推荐使用的SQL(*=)转换为左联接。以下SQL语句是否等效?性能会得到改善吗 旧的如何转换旧SQL?,sql,sql-server,performance,Sql,Sql Server,Performance,我正在将不推荐使用的SQL(*=)转换为左联接。以下SQL语句是否等效?性能会得到改善吗 旧的 SELECT n.name, n.address, e.email, e.title, m.car, l.type FROM name n, employee e, miscellaneous m, lifestyle l WHERE n.id = 3 AND n.id = e.id AND n.id
SELECT n.name,
n.address,
e.email,
e.title,
m.car,
l.type
FROM name n,
employee e,
miscellaneous m,
lifestyle l
WHERE n.id = 3
AND n.id = e.id
AND n.id *= m.id
AND n.id *= l.id;
新的
SELECT n.name,
n.address,
e.email,
e.title,
m.car,
l.type
FROM name n,
employee e,
miscellaneous m,
lifestyle l
Inner Join empId ON n.id = e.id
Left Join miscId ON n.id = m.id
Left Join lifeId ON n.id = l.id;
您的新查询不正确 转换后的版本将为:
SELECT n.NAME
, n.address
, e.email
, e.title
, m.car
, l.type
FROM NAME n
INNER JOIN employee e ON n.id = e.id
LEFT JOIN miscellaneous m ON n.id = m.id
LEFT JOIN lifestyle l ON n.id = l.id;
WHERE n.id = 3
两个查询将执行相同的操作。第一种是老式的
如果帖子回答了问题,请“标记为答案”您的新查询不正确 转换后的版本将为:
SELECT n.NAME
, n.address
, e.email
, e.title
, m.car
, l.type
FROM NAME n
INNER JOIN employee e ON n.id = e.id
LEFT JOIN miscellaneous m ON n.id = m.id
LEFT JOIN lifestyle l ON n.id = l.id;
WHERE n.id = 3
两个查询将执行相同的操作。第一种是老式的
如果帖子回答了问题,请“标记为答案”旁注:为什么不“转换”内部连接,这样就不会混合样式?添加了内部连接。新查询与旧查询等效吗?旁注:为什么不“转换”内部联接,这样就不会混合样式?添加了内部联接。新查询是否等同于旧查询?