两个关系R,S,其元数分别为R , S,则它们的笛卡尔积是所有这样的元组集合:元组的前r个分量是R中的一个元组,后s个分量是S中的一个元组。
    度数为R与S的元数之和,R×S的元组个数为R和s的元组个数的乘积。

    笛卡尔积也叫交叉连接

    1. select employee_id, department_name
    2. from employees,departments;
    3. # 等价于
    4. select employee_id, department_name
    5. from employees cross join departments;

    这种写法会导致每个员工和每个部门都会匹配一遍。
    缺少多表的连接条件。

    1. select employee_id, department_name
    2. from employees, departments
    3. where employees.department_id = departments.department_id;

    如果查询语句中出现了多个表中都存在的字段,则必须指明此字段所在的表。

    1. select employee_id, department_name, employees.department_id
    2. from employees, departments
    3. where employees.department_id = departments.department_id;

    建议:从sql优化的角度,建议多表查询时,每个字段前都指明其所在的表。

    可以给表起别名,在SELECT和wHERE中使用表的别名。

    1. select emp.employee_id, dept.department_name, emp.department_id
    2. from employees emp, departments dept
    3. where emp.department_id = dept.department_id;

    注意:
    如果给表起了别名,一旦在SELECT或WHERE中使用表名的话,则必须使用表的别名(字段唯一可以直接写字段),而不能再使用表的原名。
    别名会覆盖原表名。