相关疑难解决方法(0)

选择有和没有连接的区别

以下2个SQL脚本的结果集看起来相同.但应该有一些区别.那是什么?

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons, Orders
WHERE Persons.Id_P = Orders.Id_P 


SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.Id_P = Orders.Id_P
Run Code Online (Sandbox Code Playgroud)

性能有何不同?

更新

我刚刚比较了SQL Server 2008 R2上的实际查询计划.它们完全相同.所以没有性能差异.内部联接用于两种情况.

sql

4
推荐指数
1
解决办法
725
查看次数

是否使用JOIN?

可能重复:
INNER JOIN与WHERE子句 - 有什么区别吗?
SQL JOIN:USING,ON或WHERE有区别吗?

例如,我有这样的SQL声明:

SELECT *  
  FROM orders, inventory  
 WHERE orders.product = inventory.product
Run Code Online (Sandbox Code Playgroud)

要么

SELECT *  
  FROM orders  
  JOIN inventory  
    ON orders.product = inventory.product
Run Code Online (Sandbox Code Playgroud)

这两者有什么区别?

sql join

3
推荐指数
1
解决办法
410
查看次数

这与MYSQL查询中的JOIN相同吗?

这是我的查询:

这看起来效率高吗?使用JOIN有优势吗?或者这是一样的吗?

$query_Recordset2 = 
"SELECT cute_news.category, cute_news.id, cute_story.short, cute_story.post_id, cute_news.date, cute_news.url, cute_news.title 
FROM cute_news, cute_story 
WHERE cute_news.id = cute_story.post_id AND category LIKE '10%' 
ORDER BY date DESC LIMIT 0,35";
Run Code Online (Sandbox Code Playgroud)

mysql join query-optimization

2
推荐指数
1
解决办法
89
查看次数

哪种查询是正确的方法?

有人可以告诉我哪种方式更好,它们都能产生相同的结果,但哪种更"正确"?

我个人认为第一个查询更容易阅读,但我似乎在其他地方读到应该总是使用别名.

谢谢

SELECT Patient.PatientSurname, Doctor.DoctorSurname
FROM Patient
JOIN Operation
ON Operation.PatientCode=Patient.PatientCode
JOIN Doctor
ON Doctor.DoctorCode=Operation.DoctorCode
WHERE Operation.OperationType='Broken Arm'
GROUP BY Patient.PatientSurname
HAVING count(Patient.PatientSurname) > 0


SELECT PatientSurname, DoctorSurname
FROM Patient as p, Operation as o, Doctor as d
WHERE o.PatientCode=p.PatientCode
AND  d.DoctorCode=o.DoctorCode
AND o.OperationType='Broken Arm'
GROUP BY p.PatientSurname
HAVING count(p.PatientSurname) > 0
Run Code Online (Sandbox Code Playgroud)

mysql sql t-sql join

1
推荐指数
1
解决办法
274
查看次数

标签 统计

join ×3

sql ×3

mysql ×2

query-optimization ×1

t-sql ×1