SQL基础(二)--连接查询

    
        --    LEFT JOIN 关键字从左表(table1)返回所有的行,即使右表(table2)中没有匹配。如果右表中没有匹配,则结果为 NULL。
        SELECT Websites.name, access_log.count, access_log.date
                FROM Websites
                LEFT JOIN access_log
                ON Websites.id=access_log.site_id
                ORDER BY access_log.count DESC;
        --RIGHT JOIN 关键字从右表(table2)返回所有的行,即使左表(table1)中没有匹配。如果左表中没有匹配,则结果为 NULL。
        SELECT Websites.name, access_log.count, access_log.date
                FROM access_log
                RIGHT JOIN Websites
                ON access_log.site_id=Websites.id
                ORDER BY access_log.count DESC;
        --FULL OUTER JOIN 关键字只要左表(table1)和右表(table2)其中一个表中存在匹配,则返回行.
        --FULL OUTER JOIN 关键字结合了 LEFT JOIN 和 RIGHT JOIN 的结果。
        SELECT Websites.name, access_log.count, access_log.date
                FROM Websites
                FULL OUTER JOIN access_log
                ON Websites.id=access_log.site_id
                ORDER BY access_log.count DESC;
        --INNER JOIN:如果表中有至少一个匹配,则返回行
        --LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
        --RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行
        --FULL JOIN:只要其中一个表中存在匹配,则返回行
 

你可能感兴趣的:(SQL)