mysql的内连接查询
1.假设现在有2个表,employee 和 department。用select 语句查询它们具体内容,如下:mysql> select * from department;+------+-----------+--------------+-------------+| d_id | d_name| function_| address|+------+-----------+-----
·
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.当两个字段的值相同时候,内联查询才能查出这个值。外联查询无论字段值相同与否都可以查出来。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献17条内容
所有评论(0)