SQL查询的示例。点运算符的使用


Answers:


0

正如mcalex指出它们是表引用,在这种情况下,它们引用同一个表两次,因为它连接到它自己。该Person位包含人的姓名(根据图形)。

查询如下:

SELECT  p1.Person AS PERSON, p2.Person AS FRIEND_OF_FRIEND
FROM    PersonFriend pf1 
    JOIN Person p1 ON pf1.PersonID = p1.ID
    JOIN PersonFriend pf2 ON pf2.PersonID = pf1.FriendID
    JOIN Person p2 ON pf2.FriendID = p2.ID
WHERE   p1.Person = "Alice" and pf2.FriendID <> p1.ID

仔细看看条款中每个提到的表格FROM。您将能够看到每次提及时都会分配一个速记(例如JOIN Personp1)。你结束了以下简写/参考名称:p1p2pf1pf2。虽然p1p2引用表Personpf1pf2参考PersonFriend

在正常情况下,你可以使用全名的表像PersonPersonFriendJOINS,但因为有多个自这个查询,你需要另一种方式来确定你的意思是表格,其具体实例的哪些字段连接。

编辑:mcalex给出的引用(在一个查询中使用表两次)有一些关于自连接含义的更多信息。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.