Questions tagged «inner-join»

一种数据库操作,根据两个表之间存在的条件或关系来组合两个表的值。



6
JOIN和INNER JOIN之间的区别
这两个连接将给我相同的结果: SELECT * FROM table JOIN otherTable ON table.ID = otherTable.FK 与 SELECT * FROM table INNER JOIN otherTable ON table.ID = otherTable.FK 语句之间的性能或其他方面是否有区别? 不同的SQL实现之间是否有所不同?

11
INNER JOIN ON与WHERE子句
为简单起见,假设所有相关字段均为NOT NULL。 你可以做: SELECT table1.this, table2.that, table2.somethingelse FROM table1, table2 WHERE table1.foreignkey = table2.primarykey AND (some other conditions) 要不然: SELECT table1.this, table2.that, table2.somethingelse FROM table1 INNER JOIN table2 ON table1.foreignkey = table2.primarykey WHERE (some other conditions) 这两个工作方式MySQL是否相同?
941 sql  mysql  join  inner-join 

12
SQL内部联接与3个表?
我试图在一个视图中联接3个表;情况如下: 我有一张桌子,其中包含正在申请住在此大学校园的学生的信息。我还有另一个表格,列出每个学生的“大厅偏好设置”(其中有3个)。但是这些首选项只是一个ID号,并且ID号在第三张表中有一个对应的Hall Name(不是设计此数据库...)。 差不多,我INNER JOIN在桌子上看到他们的偏好和他们的信息,结果是... John Doe | 923423 | Incoming Student | 005 哪里005会是HallID。所以现在我想将其与HallID第三个表匹配,该表包含一个HallID和HallName。 差不多,我希望我的结果像... John Doe | 923423 | Incoming Student | Foley Hall <---(INSTEAD OF 005) 这是我目前拥有的: SELECT s.StudentID, s.FName, s.LName, s.Gender, s.BirthDate, s.Email, r.HallPref1, r.HallPref2, r.HallPref3 FROM dbo.StudentSignUp AS s INNER JOIN RoomSignUp.dbo.Incoming_Applications_Current AS r ON …
330 sql  join  inner-join 

14
在Oracle上使用内部联接更新语句
我有一个在MySQL中运行良好的查询,但是在Oracle上运行它时出现以下错误: SQL错误:ORA-00933:SQL命令未正确终止 00933。00000-“ SQL命令未正确终止” 查询是: UPDATE table1 INNER JOIN table2 ON table1.value = table2.DESC SET table1.value = table2.CODE WHERE table1.UPDATETYPE='blah';

3
使用INNER JOIN删除SQL
有2个表,spawnlist和npc,并且我需要从中删除数据spawnlsit。 npc_templateid = n.idTemplate是唯一“连接”表的东西。我已经尝试过此脚本,但是它不起作用。 我已经试过了: DELETE s FROM spawnlist s INNER JOIN npc n ON s.npc_templateid = n.idTemplate WHERE (n.type = "monster");


10
MySQL INNER JOIN从第二个表中只选择一行
我有一个users表和一个payments表,对于每个有付款的用户,表中可能有多个关联的付款payments。我想选择所有有付款的用户,但只选择他们最近的付款。我正在尝试此SQL,但是我之前从未尝试过嵌套SQL语句,所以我想知道自己在做什么错。感谢帮助 SELECT u.* FROM users AS u INNER JOIN ( SELECT p.* FROM payments AS p ORDER BY date DESC LIMIT 1 ) ON p.user_id = u.id WHERE u.package = 1
104 mysql  sql  select  inner-join 

3
在INNER JOIN条件下使用“ OR”是个坏主意吗?
为了提高超慢查询的速度(如果有关系,请在SQL Server 2008上,在两个表中各只有几分钟,每行只有约50,000行,要花几分钟),将问题缩小到OR内部联接中,例如: SELECT mt.ID, mt.ParentID, ot.MasterID FROM dbo.MainTable AS mt INNER JOIN dbo.OtherTable AS ot ON ot.ParentID = mt.ID OR ot.ID = mt.ParentID 我将其更改为(希望是)一对等效的左联接,如下所示: SELECT mt.ID, mt.ParentID, CASE WHEN ot1.MasterID IS NOT NULL THEN ot1.MasterID ELSE ot2.MasterID END AS MasterID FROM dbo.MainTable AS mt LEFT JOIN dbo.OtherTable AS ot1 …

3
Rails ActiveRecord:以LEFT JOIN代替INNER JOIN联接
我有这个代码 User.find(:all, :limit => 10, :joins => :user_points, :select => "users.*, count(user_points.id)", :group => "user_points.user_id") 生成以下sql SELECT users.*, count(user_points.id) FROM `users` INNER JOIN `user_points` ON user_points.user_id = users.id GROUP BY user_points.user_id LIMIT 10 除了User.find_by_sql手动键入查询外,是否可以通过其他方式使LEFT JOIN代替INNER JOIN ?

4
MySQL JOIN与LEFT JOIN的区别
我有这个跨数据库查询... SELECT `DM_Server`.`Jobs`.*, `DM_Server`.servers.Description AS server, digital_inventory.params, products.products_id, products.products_pdfupload, customers.customers_firstname, customers.customers_lastname FROM `DM_Server`.`Jobs` INNER JOIN `DM_Server`.servers ON servers.ServerID = Jobs.Jobs_ServerID JOIN `cpod_live`.`digital_inventory` ON digital_inventory.jobname = Jobs.Jobs_Name JOIN `cpod_live`.`products` ON products.products_pdfupload = CONCAT(digital_inventory.jobname, ".pdf") JOIN `cpod_live`.`customers` ON customers.customers_id = products.cID ORDER BY `DM_Server`.`Jobs`.Jobs_StartTime DESC LIMIT 50 运行良好,直到我让他们LEFT JOIN。我认为通过不指定联接类型可以认为是LEFT JOIN。不是这样吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.