我只是好奇编写内连接时的约定。我想加入两个具有多个匹配数据实例的表。例如,“雇用日期'”,“员工编号”和“工资”等。在两个表中都可以找到。我应该加入所有这些领域吗?
SELECT
a
FROM
table.example a
inner join table.example b ON a.date = b.date and a.id = b.id_num and a.salary = b.salary
答案 0 :(得分:1)
为了提高性能,通常你应该加入尽可能少的字段,最好是索引字段
答案 1 :(得分:0)
像这样加入并不是一个好主意。因为你只是创造了更多的冗余。
1.您需要减少冗余。这意味着如果您将日期和工资存储在表“B”中,则无需再将它们存储在表“A”中。
2.您需要一个唯一值来将第二个表与第一个表相关联。例如,在表“A”中,您将“id”创建为唯一列,而在表“B”中创建指向表“A”id的“ta_id”。然后就这样加入他们:
SELECT table_a.*,table_b.salary,table_b.date
FROM table_a
LEFT JOIN table_b
ON table_a.id = table_b.ta_id