重庆江北区如何选择合适的营销型网站建设公司?
摘要:重庆江北营销型网站建设公司推荐,p2c网站方案,前端开发培训费用,烟台比较好的软件公司多表查询,也称为关联查询,指两个或更多个表一起完成查询操作。 前提条件&#xf
重庆江北营销型网站建设公司推荐,p2c网站方案,前端开发培训费用,烟台比较好的软件公司多表查询#xff0c;也称为关联查询#xff0c;指两个或更多个表一起完成查询操作。
前提条件#xff1a;这些一起查询的表之间是有关系的#xff08;一对一、一对多#xff09;#xff0c;它们之间一定是有关联字段#xff0c;这个关联字段可能建立了外键#xff0c;…多表查询也称为关联查询指两个或更多个表一起完成查询操作。
前提条件这些一起查询的表之间是有关系的一对一、一对多它们之间一定是有关联字段这个关联字段可能建立了外键也可能没有建立外键。比如员工表和部门表这两个表依靠“部门编号”进行关联。
1. 一个案例引发的多表连接
1.1 案例说明 从多个表中获取数据
#案例查询员工的姓名及其部门名称
SELECT last_name, department_name
FROM employees, departments;查询结果
---------------------------------
| last_name | department_name |
---------------------------------
| King | Administration |
| King | Marketing |
| King | Purchasing |
| King | Human Resources |
| King | Shipping |
| King | IT |
| King | Public Relations |
| King | Sales |
| King | Executive |
| King | Finance |
| King | Accounting |
| King | Treasury |
...
| Gietz | IT Support |
| Gietz | NOC |
| Gietz | IT Helpdesk |
| Gietz | Government Sales |
| Gietz | Retail Sales |
| Gietz | Recruiting |
| Gietz | Payroll |
---------------------------------
2889 rows in set (0.01 sec)分析错误情况
SELECT COUNT(employee_id) FROM employees;
#输出107行SELECT COUNT(department_id)FROM departments;
#输出27行SELECT 107*27 FROM dual;我们把上述多表查询中出现的问题称为笛卡尔积的错误。
1.2 笛卡尔积或交叉连接的理解
笛卡尔乘积是一个数学运算。假设我有两个集合 X 和 Y那么 X 和 Y 的笛卡尔积就是 X 和 Y 的所有可能组合也就是第一个对象来自于 X第二个对象来自于 Y 的所有可能。组合的个数即为两个集合中元素个数的乘积数。 SQL92中笛卡尔积也称为交叉连接英文是 CROSS JOIN。在 SQL99 中也是使用 CROSS JOIN表示交叉连接。它的作用就是可以把任意表进行连接即使这两张表不相关。
