我想在Java中模拟简单的SQL语句(Create & Select(处理。
例如,考虑以下两个关系
CREATE TABLE X( a, b, c);
CREATE TABLE Y( c, d, e);
问题 1:现在我可以使用哪些数据结构来存储关系名称 X 和 Y 及其属性。
还要考虑 select 语句:
SELECT a,d FROM X,Y WHERE X.c = Y.c ;
问题2:如何确认 a 属于 X 还是 Y,d 属于 X 还是 Y?如何在 SQL 查询处理引擎中处理此处理。
我可以找到许多查询评估计划,如果选择仅依赖于单个关系,则在 JOIN 操作下方推送 SELECT 语句。为此,我需要知道如何确认属性属于哪个关系?
使用问题1:现在我可以使用哪些数据结构来存储关系名称X和Y及其属性。
任何你喜欢的结构,在Java中,你很可能会使用对应于X和Y的类,并且这些类的字段对应于a,b,c表示X,c,d,e表示Y。
从 X,Y 中选择 A,D,其中 X.C = Y.C ;
问题2:如何确认a属于X还是Y,d属于X还是Y?如何在 SQL 查询处理引擎中处理此处理。
由于a
只存在于 X 中,d
只存在于 Y 中,因此数据库知道这意味着什么。如果它们也存在于另一个表中,则需要指定您指的是哪一个(例如 SELECT x.a, d FROM X x, Y y ...
(。