1

そのような普遍的なクエリを書くことは可能ですか? ユニバーサルとは、このクエリを他のテーブルに使用できるように、外部キーである列名を入力する必要がないことを意味します。簡単な例:

[table workers]
ID [PK] | worker | department [FK]
--------+--------+-----------
1       | Smith  | 2

[table departments]
ID [PK] | department
--------+------------+
1       | Paris      |
2       | Oslo       |

SELECT/JOINクエリの後、次のように表示されます。

ID [PK] | worker | department [FK]
--------+--------+-----------
1       | Smith  | Oslo

しかし、書く代わりに:

SELECT workers.ID, workers.worker, departments.department
FROM workers JOIN departments ON workers.department = departments.ID;

これは次の場合にのみ機能しworkersdepartments次のようなより普遍的なものを好むでしょう:

SELECT * FROM [tableName] JOIN [referenced table#1], 
[referenced table#2]...[#n] 
ON [tableName].FK#1 = [referenced table#1].[2nd column], 
[tableName].FK#2 = [referenced table#2].[2nd column]...#n

where #n- テーブルごとに異なる外部キーとそれらが参照するテーブルの数。

4

1 に答える 1