相关疑难解决方法(0)

INNER JOIN ON vs WHERE子句

为简单起见,假设所有相关字段都是NOT NULL.

你可以做:

SELECT
    table1.this, table2.that, table2.somethingelse
FROM
    table1, table2
WHERE
    table1.foreignkey = table2.primarykey
    AND (some other conditions)
Run Code Online (Sandbox Code Playgroud)

要不然:

SELECT
    table1.this, table2.that, table2.somethingelse
FROM
    table1 INNER JOIN table2
    ON table1.foreignkey = table2.primarykey
WHERE
    (some other conditions)
Run Code Online (Sandbox Code Playgroud)

这两个是以同样的方式工作MySQL吗?

mysql sql join inner-join

893
推荐指数
9
解决办法
57万
查看次数

内连接vs其中

是否存在性能差异(在oracle中)

Select * from Table1 T1 
Inner Join Table2 T2 On T1.ID = T2.ID
Run Code Online (Sandbox Code Playgroud)

Select * from Table1 T1, Table2 T2 
Where T1.ID = T2.ID
Run Code Online (Sandbox Code Playgroud)

sql oracle performance

251
推荐指数
10
解决办法
11万
查看次数

在两个不同数据库的表之间加入?

在MySQL中,我有两个不同的数据库-我们姑且称之为一个.

是否可以在数据库A中的表与数据库B中的表之间执行连接?

mysql sql join

117
推荐指数
2
解决办法
12万
查看次数

1052:字段列表中的列'id'不明确

我有2张桌子.tbl_names并且tbl_section其中包含两个id领域.我如何选择该id字段,因为我总是收到此错误:

1052: Column 'id' in field list is ambiguous
Run Code Online (Sandbox Code Playgroud)

这是我的查询:

SELECT id, name, section
  FROM tbl_names, tbl_section 
 WHERE tbl_names.id = tbl_section.id
Run Code Online (Sandbox Code Playgroud)

我可以选择所有字段并避免错误.但这将是对性能的浪费.我该怎么办?

mysql sql database join mysql-error-1052

80
推荐指数
6
解决办法
30万
查看次数

嵌套连接隐藏表名

我有三个表:供应商,零件和类型.我需要加入所有这些,同时在三个表中区分具有相同名称的列(例如,"id").我想成功运行此查询:

CREATE VIEW Everything AS
SELECT Suppliers.name as supplier, 
       Parts.id, 
       Parts.description, 
       Types.typedesc as type
FROM Suppliers JOIN (Parts JOIN Types ON Parts.type_id = Types.id)
ON Suppliers.id = Parts.supplier_id;
Run Code Online (Sandbox Code Playgroud)

我的DBMS(sqlite)抱怨"没有这样的列(Parts.id)".我想在JOIN完成后会忘记表名,但是我怎样才能引用id属于表的列Parts呢?

sql sqlite join

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

MySQL:"内部联接"性能:"在哪里"vs添加到"on"

这两者之间有性能差异吗?

select * from tableA INNER JOIN tableB ON tableA.type = ? AND tableB.ref = tableA.id
select * from tableA INNER JOIN tableB ON tableB.ref = tableA.id WHERE tableA.type = ?
Run Code Online (Sandbox Code Playgroud)

mysql query-optimization

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

当我尝试从两个表连接数据时,行丢失

我有一个相当简单的查询,我试着写.

如果我运行以下查询:

SELECT parts.id, parts.type_id 
FROM parts 
WHERE parts.type_id=1 
  OR parts.type_id=2 
  OR parts.type_id=4 
ORDER BY parts.type_id;
Run Code Online (Sandbox Code Playgroud)

我得到了我希望返回的所有行.现在,当我尝试使用以下查询从另一个表中获取parent_unit时,六行突然退出结果:

SELECT parts.id, parts.type_id, sp.parent_unit 
FROM parts, serialized_parts sp 
WHERE (parts.type_id=1 OR parts.type_id=2 OR parts.type_id=4) 
  AND sp.parts_id = parts.id 
ORDER BY parts.type_id
Run Code Online (Sandbox Code Playgroud)

在过去,我从来没有在我的查询中真正处理OR,所以也许我只是做错了.那说我猜它只是一个简单的错误.如果您需要样本数据,请告诉我,我会发布一些.谢谢.

mysql sql

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