美文网首页
mysql的简单的关联查询

mysql的简单的关联查询

作者: 你的努力时光不会辜负 | 来源:发表于2022-01-25 10:30 被阅读0次

    1.新建表
    create table websites(id int not null, name varchar(32), url varchar(100) not null ,alexa int not null , country varchar(32));

    插入数据
    insert into websites values(1,'Google','https://www.google.cm/',1,'USA');
    insert into websites values(2,'taobao','https://www.taobao.com/',13,'CN');
    insert into websites values(3,'cainiao','http://www.runoob.com/',4689,'CN');
    insert into websites values(4,'weibo','http://weibo.com/',20,'CN');
    insert into websites values(5,'Facebook','https://www.facebook.com/',3,'USA');
    insert into websites values(7,'stackoverflow','http://stackoverflow.com/',0,'IND');

    create table access_log(aid int not null, site_id int not null, count int, date varchar(100));

    insert into access_log values(1,1,45,'2016-05-10');
    insert into access_log values(2,3,100,'2016-05-13');
    insert into access_log values(3,1,23,'2016-05-14');
    insert into access_log values(4,2,10,'2016-05-14');
    insert into access_log values(5,5,205,'2016-05-14');
    insert into access_log values(6,4,13,'2016-05-15');
    insert into access_log values(7,3,220,'2016-05-15');
    insert into access_log values(8,5,545,'2016-05-16');
    insert into access_log values(9,3,201,'2016-05-17');
    insert into access_log values(10,6,111,'2016-03-19');

    select * from mysql.test.websites

    | 1 | Google | https://www.google.cm/ | 1 | USA |
    | 2 | 淘宝 | https://www.taobao.com/ | 13 | CN |
    | 3 | 菜鸟教程 | http://www.runoob.com/ | 4689 | CN |
    | 4 | 微博 | http://weibo.com/ | 20 | CN |
    | 5 | Facebook | https://www.facebook.com/ | 3 | USA |
    | 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND |

    +-----+---------+-------+------------+
    | aid | site_id | count | date |
    +-----+---------+-------+------------+
    | 1 | 1 | 45 | 2016-05-10 |
    | 2 | 3 | 100 | 2016-05-13 |
    | 3 | 1 | 230 | 2016-05-14 |
    | 4 | 2 | 10 | 2016-05-14 |
    | 5 | 5 | 205 | 2016-05-14 |
    | 6 | 4 | 13 | 2016-05-15 |
    | 7 | 3 | 220 | 2016-05-15 |
    | 8 | 5 | 545 | 2016-05-16 |
    | 9 | 3 | 201 | 2016-05-17 |
    +-----+---------+-------+------------+

    2.关联查询

    内连接

    SELECT *
    FROM Websites
    INNER JOIN access_log
    ON Websites.id=access_log.site_id
    ORDER BY Websites.id;

    左连接

    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;

    右连接

    SELECT Websites.name, access_log.count, access_log.date
    FROM Websites
    RIGHT JOIN access_log
    ON Websites.id=access_log.site_id
    ORDER BY access_log.count DESC;

    全连接
    SELECT websites.name, access_log.count, access_log.date
    FROM websites
    FULL OUTER JOIN access_log
    ON access_log.site_id=websites.id
    ORDER BY access_log.count DESC;

    来源:https://www.runoob.com/sql/sql-join.html
    https://www.runoob.com/mysql/mysql-join.html

    相关文章

      网友评论

          本文标题:mysql的简单的关联查询

          本文链接:https://www.haomeiwen.com/subject/rshwhrtx.html