| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1062 人关注过本帖
标题:谈谈你对高级查询的理解
只看楼主 加入收藏
编程3869768
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2008-3-25
结帖率:100%
收藏
 问题点数:0 回复次数:1 
谈谈你对高级查询的理解
内连接查询
select ProductInfo.ProdID'生产号',ProductInfo.ProdName'产品

号',EmporiumSell.SellAmout'销售数量',EmporiumSell.SellDate'销售日

期',EmporiumInfo.EmpName'商场名称'
from ProductInfo inner join  EmporiumSell
on ProductInfo.ProdID=EmporiumSell.ProdID
join EmporiumInfo
on EmporiumInfo.EmpID=EmporiumSell.EmpID


外连接查询
select ProductInfo.ProdID'生产号',ProductInfo.ProdName'产品

号',EmporiumSell.SellAmout'销售数量',EmporiumSell.SellDate'销售日期'
from EmporiumSell left outer  join ProductInfo
on EmporiumSell.ProdID=ProductInfo.ProdID


交叉连接
select EmporiumSell.SellAmout'销售数量',EmporiumSell.SellDate'销售日期

',ProductInfo.ProdID'生产号',ProductInfo.ProdName'产品名'
from EmporiumSell cross join ProductInfo


合并结果集
select kecheng.KCMC'课程名称'
from kecheng
union
select BJ.BJMC'班级名称'
from BJ



这几天  都在研究这些连接的区别  
不是很了解
哪位能系统  言简意赅的谈谈你的理解
来解除菜鸟的困惑
搜索更多相关主题的帖子: 高级 查询 
2008-12-01 22:04
zhouhouyang01
Rank: 2
来 自:天界
等 级:论坛游民
帖 子:108
专家分:20
注 册:2008-5-3
收藏
得分:0 
作为数据库开发人员,你可能需要从多个表中一起抽取数据以作为单一的结果集的一部分。在这个情况中,结果集中的不通列可以从不同的表中得到数据。为了从多表中抽取数据,SQL server允许你使用连接。
内连接在公共列的列上使用比较操作符从多表中抽取数据。当内链接被使用的时候,仅满足公共列中的连接条件的值行被显示。两个表中不满足连接的条件的行不显示。连接使用SELECT语句实现,这里SELECT列表包含要从表中抽取的列名。FROM从句包含联合数据要被抽取的表的名称。WHERE从句指定条件,带有比较操作符,基于这些操作符表被连接。
与内连接相比,外联接显示包含自一个表中所有行和来自另一个表中匹配行的结果集。例如,如果你在A表和B表上创建了连接,它将向你显示表A中所有的记录和来自表B中那些公共列保持条件为真的记录。外联接又分为:左连接,右连接和完全外连接,它们的关键字分别是left outer join,right outer join和full outer join。
交叉连接也被称为笛卡尔积,在两个表中将一个表中的每行与另一个表中的每行连接。结果集中行的数量是第一个表中行的数量与第二个表中行的数量的乘积。这表示如果表A有10行,表B有5行,那么结果集显示的就是50行!关键字是CROSS JOIN。
2008-12-02 12:47
快速回复:谈谈你对高级查询的理解
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016493 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved