编写 SELECT 语句 / 多表 SELECT 语句 |
当执行未显式声明表之间的连接条件的多表查询时,就创建了笛卡尔积。笛卡尔积由表的行的每种可能的组合构成。此结果通常很大且不实用。
图: 查询
SELECT * FROM customer, state;
图: 查询结果
customer_num 101 fname Ludwig lname Pauli company All Sports Supplies address1 213 Erstwild Court address2 city Sunnyvale state CA zipcode 94086 phone 408-789-8075 code AK sname Alaska customer_num 101 fname Ludwig lname Pauli company All Sports Supplies address1 213 Erstwild Court address2 city Sunnyvale state CA zipcode 94086 phone 408-789-8075 code HI sname Hawaii customer_num 101 fname Ludwig lname Pauli company All Sports Supplies address1 213 Erstwild Court address2 city Sunnyvale state CA zipcode 94086 phone 408-789-8075 code CA sname California ⋮
另外,显示在连续行中的某些数据是矛盾的。例如:虽然 customer 表中的 city 和 state 指示在 California 的地址,但是 state 表的 code 和 sname 可能是另一个州的。