前言:
如今大家对“数据库姓名对应编号怎么看”大概比较关怀,小伙伴们都想要了解一些“数据库姓名对应编号怎么看”的相关资讯。那么小编在网摘上汇集了一些有关“数据库姓名对应编号怎么看””的相关文章,希望我们能喜欢,各位老铁们快快来了解一下吧!假定有三张表
1 订单表Order 包含: 订单编号 客户编号 订单日期
2 订单详情表OrderItems 包含:订单详情编号 订单编号 产品编号 产品名称 产品价格等
3 客户表 Customers 包含: 客户编号 客户姓名 客户性别 联系电话等
如果已知产品编号RGAN01
那么现在要列出订购RGAN01产品的所有顾客
怎么做?
1 在订单详情表中查询出订购产品编号为RGAN01产品的所有的订单编号 比如有200007,200008两个订单
2 在订单表中查询出这些订单编号对应的所有的客户编号 比如有10000004,100000005两个客户
3 在客户表中查询出这些客户编号对应的所有的客户信息 比如分别叫张三和李四的两个客户
4 从后向前进行整合
第一步
在订单详情表中查询出订购产品编号为RGAN01产品的所有的订单编号
SELECT order_num
FROM OrderItems
WHERE prod_id="RGAN01"
查询结果可能是这样:
order_num
----------
2000007
2000008
第二步
在订单表中查询出这些订单编号对应的所有的客户编号
SELECT cust_id
FROM Orders
WHERE order_id IN(2000007,2000008)
查询结果可能是这样:
cust_id
------------
1000000004
1000000005
第三步
在客户表中查询出这些客户编号对应的所有的客户信息
SELECT cust_name,cust_phone
FROM Customer
WHERE cust_id IN(1000000004,1000000005)
查询结果可能是这样:
cust_name cust_phone
---------- -----------
张三 13145678900
李四 13556789000
第四步
从后向前进行整合:
SELECT cust_name,cust_phone
FROM Customer
WHERE cust_id IN(SELECT cust_id
FROM Orders
WHERE order_num IN(SELECT order_num
FROM OrderItems
WHERE prod_id="RGAN01"))
当在一张表中需要的信息没有时
就只能通过编号联系其他表
例如
这里在订单详情表中是没有顾客的任何信息的
同时
已知的产品编号在这三个表里只存在于订单详情表中
要想仅仅通过产品编号就获得相关的所有顾客信息
就只能通过编号进行与其他表进行联系
先通过产品编号查询到对应的所有订单编号
再通过订单编号查询到对应的所有顾客编号
最后通过顾客编号查询到对应的顾客信息
编号是表进行联系的桥梁
通过表和表的联系就能查询到本表所没有的信息
当要查询的信息本表没有时
一定要通过编号对表与表进行联系
标签: #数据库姓名对应编号怎么看