数据库中JOIN怎么用?

我想在ASP中用一句SQL语句查询两个表中的数据,是用JOIN吗?给个例子好吗?谢谢... 我想在ASP中用一句SQL语句查询两个表中的数据,是用JOIN吗?给个例子好吗?谢谢 展开
 我来答
糖糖寳寳
推荐于2018-04-13 · TA获得超过6.4万个赞
知道大有可为答主
回答量:1.8万
采纳率:92%
帮助的人:3954万
展开全部
JOIN分为:内连接、相等连接、自然连接、交叉连接,如下:
  a、显式的内连接与隐式连接(inner join == join )
  显示连接:SELECT * from employee join department on employee.DepartmentID = department.DepartmentID
  等价于:
  隐式连接:SELECT * from employee,department WHERE employee.DepartmentID = department.DepartmentID
  注:当DepartmentID不匹配,就不会往结果表中生成任何数据。
  
  b、相等连接
  提供了一种可选的简短符号去表达相等连接,它使用 USING 关键字。
  SELECT * from employee join department using (DepartmentID)
  注:与显式连接不同在于:DepartmentID只显示一列
  
  c、自然连接
  比相等连接的进一步特例化。两表做自然连接时,两表中的所有名称相同的列都将被比较,这是隐式的。
  自然连接得到的结果表中,两表中名称相同的列只出现一次.
  select * from employee natural join department
  注:在 Oracle 里用 JOIN USING 或 NATURAL JOIN 时,如果两表共有的列的名称前加上某表名作为前缀,
  则会报编译错误: "ORA-25154: column part of USING clause cannot have qualifier"
  或 "ORA-25155: column used in NATURAL join cannot have qualifier".
  
  d、交叉连接(又称笛卡尔连接)
  如果 A 和 B 是两个集合,它们的交叉连接就记为: A × B.
  显示连接:
  select * from employee cross join department
  等价于
  隐式连接:
  select * from employee,department
美林数据技术股份有限公司
2023-07-25 广告
常用的大数据工具有以下这些:* Apache Cassandra:一种分布式的开源数据库。* Apache Drill:一种开源分布式系统,用于大规模数据集的交互分析。* Apache Elasticsearch:是Apache Lucen... 点击进入详情页
本回答由美林数据技术股份有限公司提供
寒食心思嫦娥470
推荐于2017-09-26 · TA获得超过599个赞
知道小有建树答主
回答量:437
采纳率:100%
帮助的人:416万
展开全部
join 分为 inner join left join right join

假设
表 a 有字段 empid empname
1 jack
2 tom
表b 有字段 empid empaddr
1 bj
3 sh
inner join标准语法如下
select a.empid,b.empaddr from a inner join b on a.id=b.id
结果如下
1 bj
left join
select a.empid,b.empname from a left join b on a.id=b.id
结果如下
1 bj
2 null

right join
select a.empid,a.empaddr from a right join b on a.id=b.id
结果如下
1 jack
3 null
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式