Step 1: Understanding the Question:
The question presents four relational database principles (A, B, C, D) regarding how to apply and structure SQL JOIN operations when linking multiple tables. We need to determine which of these statements are correct.
Step 2: Key Relational Database JOIN Principles:
- JOIN on Equality: Also known as an Equi-Join. It can be written explicitly using the INNER JOIN ... ON syntax or implicitly using a NATURAL JOIN if the attributes have matching names in both tables.
- Number of Join Conditions: To combine $N$ tables, a minimum of $N-1$ join conditions is necessary to avoid a Cartesian product.
- Relational Operators in JOIN: Joins are not restricted to equality. We can use other operators like $<$, $>$, $<=$, or $>=$, which are called Non-Equi Joins or Theta Joins.
Step 3: Detailed Evaluation of Statements:
- Statement A is correct: If two tables share a common attribute, we can join them using JOIN ... ON table1.attr = table2.attr or simply use a NATURAL JOIN in the FROM clause.
- Statement B is correct: To join three tables, we must define two distinct join relationships to connect all three datasets sequentially. Thus, two JOIN operators are required.
- Statement C is correct: To combine $N$ different tables without generating a cross product (Cartesian product), we need at least $N-1$ join relations/conditions.
- Statement D is correct: Using the JOIN clause with an ON condition allows us to employ any logical comparison operator (such as checking if a date in table 1 is greater than a date in table 2), which is fully supported by standard SQL.
- Since all four statements are technically sound and accurate, Option (C) is the correct choice.
Step 4: Final Answer:
All listed statements (A, B, C, and D) are correct relational database join principles.
Hence, option (C) is the correct choice.