景安微信
网站有问题
老雷来帮忙
景安网络 欢迎来到景安网络虚拟主机资讯站!
免费主机国内主机
国内主机
0元购买
原价99元/年 我想领取
QQ群
快云体验交流群

群名称:快云体验群

群   号:288544772

一键加群 快云体验交流群
公众号
快云官方微信

扫码关注公众号您可以:

1、微信一键登录会员;

2、微信提交故障工单;

3、微信查询网站备案。

回顶部
虚拟主机

首页 > 数据库 > Oracle数据库中如何对多表执行SELECT语句?

Oracle数据库中如何对多表执行SELECT语句?

来源:Admin5

作者:admin

更新时间:2013-11-30 13:38

景安网络—专业的数据中心服务商!提供快云服务器,快云VPS,虚拟主机,域名注册,服务器托管,服务器租用,SSL证书,数据库存储。 2019快云上云特惠季 立即注册

大部分数据库模式都有多个表,这些表分别用于保存一个企业的多个方面的信息。例如,store模式有很多表,这些表分别用于存储这个商店各方面的内容。到现在为止,所有的查询都只涉及到store模式中的一个数据库表,然而,用户可能希望可以从多个表中检索信息--例如,可能会希望检索产品类型名,并将其余实际产品名字一起显示。下面景安网络为您介绍如何执行跨越多个标的查询?
假设希望查看产品的名称,同事还想在同一次输出结果中显示产品类型的名,现在已经知道产品的名称是保存在products表中的那么列中,二产品类型名保存在product_types表的name列中。而products表和product_types通过一个外键product_type_id彼此关联在一起,其中products表中的product_type_id列指向product_types表中的product_type_id列。因此如果从products表中选择产品的name和product_type_id列结果应该如下所示:
SELECT name,product_type_id
FROM products
WHERE product_id=1;
如果是从product_types表中检索product_type_id为1的name列,结果应该如下所示:
SELECT name,product_type_id
FROM product_types
WHERE product_type_id=1;
从上面结果中可以看到产品#1是一本书。到现在为止没有什么复杂的,但是要做到在同一行中查看产品的名称和产品的类型名,我们应该怎么做呢?
答案是在一个查询表中将两个表连接起来,将两个表连接起来意味着需要在查询的FROM子句中同事指定两个表,然后指名两个表的相关列(如一个表中的外键,另一个表中的主键)。也可以在查询的WHERE子句中使用操作符。另外需要注意的是:在SELECT语句的FROM子句中,必须包含连接中要使用的列所在的表,连接中使用的列通常都是通过外键进行关联的。
因此按照需要实现的功能来说SELECT子句是如下格式:
SELECT products.name,product_types.name
FROM products,product_types
WHERE products.product_type_id=product_types.product_type_id;

本文链接:http://host.zzidc.com/shujuku/222.html

关键字:数据类型

若无特别注明,文章皆为景安网络原创,转载请注明出处。

上云HI购