关于如何加入两个表的一些问题

时间:2014-03-28 12:34:08

标签: sql sql-server database join

我对数据库很陌生,我有以下问题:我有2个表CpeCpeVendor

Cpe包含以下列:

Id                   int
Cpe                  varchar
SourceId             varchar
DateAdded            datetime
vendor_id            int
Title            varchar
part             char
product_id           int
version          varchar
revision             varchar
edition          varchar
language             varchar

CpeVendor包含以下列:

id               int
nome             varchar
date_added       datetime

因此Cpe表中的单行与CpeVendor表中的单行相关,但CpeVendor中的单行可能与Cpe中的多行相关表

我的问题是我希望将这两个表视为一个表,其中Cpe表的行与CpeVendor中的行绑定vendor_id的值相关联Cpe列,id

中的CpeVendor

我认为我必须进行JOIN操作,是不是?你能帮我做一下这个操作吗?

2 个答案:

答案 0 :(得分:2)

一个基本的连接语句,用于返回vendor_id连接的两个表中的所有列:

SELECT C.*, CV.* FROM Cpe C
     INNER JOIN CpeVendor CV ON C.vendor_id = CV.id

每个表之后的CCV是为每个表提供缩短引用的别名。您可以使用SQL中的其他任何位置C.CV.来引用这些表。

在这里查看有关编写查询的有用基础知识:Technet SQL Query guide

答案 1 :(得分:1)

SELECT * 
FROM CpeVendor cv join 
     cpe c on c.vendor_id = cv.id  

假设Vendor_ID是来自CpeVendor表的ID的FK。

这将返回两个表中vendor_id = cv.id匹配的所有列。