免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1658 | 回复: 4
打印 上一主题 下一主题

谁给我解答一下自连接 我不明白!这个语句(有例子) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-02 18:33 |只看该作者 |倒序浏览
连接一个表到自己
select worker.last_name||'work for'||manager.last_name
from   employees worker,employees manager
where worker.manager_id=manager.employee_id;

(这句子为什么能说明不同的员工给哪个经理工作,我主要是想不明白那句where子句上的 =    ,上面的语句我知道意思,谁帮帮我解答一下,请清楚的说明白,谢拉!!!!!!

论坛徽章:
0
2 [报告]
发表于 2006-08-02 21:39 |只看该作者
这是关系数据库理论的基本知识
简单来说, 在上面的查询中, employees出现了2次,  一次是作为worker出现, 一次是作为manager出现, 你可以想象成是在对两个表做操作, 一个表是worker, 一个表是manager, 这两个表结构相同. 两个表中的记录联系起来的条件就是worker.manager_id=manager.employee_id,  如果worker表中的一条记录和manager中的一条记录的worker.manager_id=manager.employee_id, 则worker中的 last_name字段和manager中的last_name字段将被选出.
可参考下面的查询
select worker.last_name||'work for'||manager.last_name
from   employees worker,employees manager;

关于关系数据库的理论基础, 可以去看大学的数据库教材

论坛徽章:
0
3 [报告]
发表于 2006-08-02 22:15 |只看该作者
有时要讲清楚SQL的WHERE子句是蛮困难的,因为这个不仅仅是语法的问题
至少我是这样觉得

论坛徽章:
0
4 [报告]
发表于 2006-08-02 22:54 |只看该作者
我觉得应该属于应用设计的范畴,呵呵,的确不好解释

原帖由 doni 于 2006-8-2 22:15 发表
有时要讲清楚SQL的WHERE子句是蛮困难的,因为这个不仅仅是语法的问题
至少我是这样觉得

论坛徽章:
0
5 [报告]
发表于 2006-08-03 10:39 |只看该作者
把它当成两个表吧,不同的表,好理解一点
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP