IN SQL INNER JOIN 可以添加两个不同列的表吗?
Posted
技术标签:
【中文标题】IN SQL INNER JOIN 可以添加两个不同列的表吗?【英文标题】:IN SQL INNER JOIN can you add two tables with different columns? 【发布时间】:2021-01-13 08:47:02 【问题描述】:您好,我目前是 SQL 新手。我试图从预订表中选择 checkindate 和 checkout 列,从客户表中选择名字和姓氏。这两个表共享一个公共列,即 customerID。谁能帮帮我!!
Booking table:
bookingID (pk)
checkindate
checkoutdate
customerID (fk)
Customer table:
customerID (pk)
firstname
lastname
【问题讨论】:
【参考方案1】:SELECT booking.checkindate, booking.checoutdate, customer.firstname, customer.lastname
FROM booking
JOIN customer
ON booking.customerID = customer.customerID
【讨论】:
虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高答案的长期价值。【参考方案2】:您可以按如下方式使用内连接:
SELECT B.customerid,
B.checkindate,
C.firstname ,
C.lastname
FROM BookingTable b
join CustomerTable c on b.customerid=c.customerid
【讨论】:
你必须写 B.Checkindate 而不是 C.Checkindate【参考方案3】:SELECT bt.customerid,checkindate,firstname ,lastname
FROM BookingTable bt inner join CustomerTable ct
on bt.customerid=ct.customerid
【讨论】:
永远不要使用这样的连接。使用标准 ANSI 连接。 欣赏它。请在您的答案中使用 b.checkindate 而不是 c.checkindate。 虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高答案的长期价值。以上是关于IN SQL INNER JOIN 可以添加两个不同列的表吗?的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server-聚焦INNER JOIN AND IN性能分析(十四)
SQL Server-聚焦INNER JOIN AND IN性能分析(十四)