赞
踩
1.假设现在有2个表,employee 和 department。用select 语句查询它们具体内容,如下:
- mysql> select * from department;
- +------+-----------+--------------+-------------+
- | d_id | d_name | function_ | address |
- +------+-----------+--------------+-------------+
- | 1001 | 科研部 | 研发产品 | 3号楼5层 |
- | 1002 | 生产部 | 生产产品 | 5号楼1层 |
- | 1003 | 销售部 | 策划销售 | 5号楼1层 |
- +------+-----------+--------------+-------------+
- mysql> select * from employee;
- +-----+------+--------+------+------+--------------------+
- | num | d_id | name | age | sex | homeaddr |
- +-----+------+--------+------+------+--------------------+
- | 1 | 1001 | 张三 | 26 | 男 | 北京市海淀区 |
- | 2 | 1002 | 李四 | 24 | 女 | 北京市昌平区 |
- | 3 | 1003 | 王五 | 25 | 男 | 湖南省长沙市 |
- | 4 | 1004 | Aric | 15 | 男 | England |
- +-----+------+--------+------+------+--------------------+
- 4 rows in set (0.00 sec)
2.现在要实现内连查询。实现内联查询的条件是两个或者多个表有意义相同的字段。例如,上述两个表的department和employee都有d_id,都表示部门编号(这两个字段的名称也可以不一样),那么现在执行内联查询,
- mysql> select department.d_id,d_name,function_,address,num,age from department,employee where department.d_id = employee.d_id;
- +------+-----------+--------------+-------------+-----+------+
- | d_id | d_name | function_ | address | num | age |
- +------+-----------+--------------+-------------+-----+------+
- | 1001 | 科研部 | 研发产品 | 3号楼5层 | 1 | 26 |
- | 1002 | 生产部 | 生产产品 | 5号楼1层 | 2 | 24 |
- | 1003 | 销售部 | 策划销售 | 5号楼1层 | 3 | 25 |
- +------+-----------+--------------+-------------+-----+------+
- 3 rows in set (0.00 sec)
-
自己体会:
1.其实内联查询就是利用where语句,查询满足两个字段相等(这两个字段必须意义完全相同)的时候的各个字段的值。
2.当两个字段的值相同时候,内联查询才能查出这个值。外联查询无论字段值相同与否都可以查出来。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。