gpt4 book ai didi

SQL 外链接操作小结 inner join left join right join

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 30 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章SQL 外链接操作小结 inner join left join right join由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

数据库操作语句   7. 外连接——交叉查询  7.1 查询   7.2 等值连接  7.3 右外连接  7.4 左外连接  7.5 更新操作  简介:  外部连接和自联接  inner join(等值连接) 只返回两个表中联结字段相等的行  left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录  right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录  on 指定表间联结字段及其关系的等号 "=" 表达式, 返回 true 或 false. 当表达式返回 true 时, 则查询中包含该记录.   ! 外部连接只能操作已存在于数据库中的数据  7.5.2   程序代码  Update (ctarticle AS a LEFT JOIN ctclass AS c ON a.classid = c.classid) LEFT JOIN cttag AS b ON a.articleid = b.articleid   SET tag=tag+' ', b.articleid=a.articleid, b.classid=a.classid, b.nclassid=a.nclassid   Where a.classid=23 AND a.nclassid=0 AND tagid is not null  7.5.1    程序代码  Update (ctarticle AS a LEFT JOIN (ctnclass AS c LEFT JOIN ctclass AS d ON c.classid = d.classid) ON a.nclassid = c.nclassid AND a.classid = c.classid) LEFT JOIN cttag AS b ON a.articleid = b.articleid SET tag=d.class+' '+c.nclass, b.articleid=a.articleid, b.classid=a.classid, b.nclassid=a.nclassid Where a.classid=23 AND a.nclassid=197;  7.5 更新操作  74.5 左连接中数据的筛选   程序代码  Insert INTO cttag(articleid,classid,nclassid) Select a.articleid,a.classid,a.nclassid from ctarticle a left join cttag b on a.articleid=b.articleid where b.articleid is null  //本语句功能为, 显示主表的全部内容, 插入数据到副表中没有的数据  //主要作用为: 让数据减少冗余  7.4.4.1 上例中的延续   程序代码  Select a.*, b.*, c.*, d.*  FROM cttag as d left join ((ctarticle AS a LEFT JOIN ctclass AS b ON a.classid=b.classid) LEFT JOIN ctnclass AS c ON a.nclassid=c.nclassid) on d.articleid=a.articleid;  7.4.4 显示文章表中的全部, 调用类别表中的栏目   程序代码  select a.*, b.*, c.* from (ctarticle a left join ctclass b on a.classid=b.classid) left join ctnclass c on a.nclassid=c.nclassid  //作用, 有时在文章表中包含了在个别类别表中没有的数据, 用这个语法可以读出文章表的全部数据  //a 为 文章表, b 为主类别, c 为子类别  7.4.3 同上例, 选择追加数据时加上空格   程序代码  Insert INTO cttag(articleid,classid,nclassid,tag)  Select a.articleid,a.classid,a.nclassid,d.class+' '+c.nclass  FROM (ctarticle AS a left join (ctnclass c left join ctclass d on c.classid=d.classid) on a.classid=c.classid and a.nclassid=c.nclassid) LEFT JOIN cttag AS b ON a.articleid = b.articleid where a.classid=4 and a.nclassid=154;  7.4.2 连接N个表, 并追加数据到其中一个表, N=4   程序代码  Insert INTO cttag(articleid,classid,nclassid,tag)  Select a.articleid,a.classid,a.nclassid,d.class+c.nclass  FROM (ctarticle AS a left join (ctnclass c left join ctclass d on c.classid=d.classid) on a.classid=c.classid and a.nclassid=c.nclassid) LEFT JOIN cttag AS b ON a.articleid = b.articleid where a.classid=1 and a.nclassid=1;  //解读  插入到 表2(栏1,栏2,栏3,栏4)  选择 别名a.栏1, 别名a.栏2, 别名a.栏3, 别名d.栏4 加上 别名c.栏5  从 (表1 别名a 左连接 (表3 别名c 左连接 表4 别名d 在 别名c.栏2 等于 别名d.栏2) 在 别名a.栏2 等于 别名c.栏2 和 别名a.栏3=别名c.栏3) 左连接 表2 别名b 在 别名a.栏1 等于 别名b.栏1 在那里 别名a.栏2=1 和 别名a.栏3=1  7.4.1 连接两个表, 并追加数据到其中一个表   程序代码  Insert INTO cttag(articleid,classid,nclassid)  Select a.articleid,a.classid,a.nclassid  FROM ctarticle AS a LEFT JOIN cttag AS b ON a.articleid = b.articleid where a.classid=1 and a.nclassid=1;  //解读  插入到 表2(栏1,栏2,栏3)  选择 别名a.栏1, 别名a.栏2, 别名a.栏3  从 表1 别名a 左连接 表2 别名b 在 别名a.栏1 等于 别名b.栏1 在那里 别名a.栏4=1 和 别名a.栏5=1  7.4. 左连接  7.3.1 同步两表的数据   程序代码  Update ctarticle a INNER JOIN cttag b ON a.articleid = b.articleid SET b.classid=a.classid, b.nclassid=a.nclassid;  //解读  更新 表1 别名a 联接 表2 别名2 在 别名a.栏1 等于 别名b.栏1 设置 别名b.栏2 更新为 别名a.栏2, 别名b.栏3 更新为 别名a.栏3   7.3 右外连接   程序代码  select a.*, b.* from bunclass a right join ctclass b on a.classid=b.classid where a.nclassid=20  查询别名 a,b 表, 只匹配 b 表中的内容.  7.2.3 添加数据到连接表之一   程序代码  Insert INTO cttag ( tag, articleid ) Select top 1 b.tag, a.articleid FROM ctarticle AS a left JOIN cttag AS b ON a.articleid = b.articleid Where a.articleid order by a.articleid desc;  7.2.2 变通中的用法二   程序代码  Insert INTO bureply   Select b.*, a.classid, a.nclassid  FROM article AS a INNER JOIN reply AS b ON a.articleid = b.articleid  Where classid=50;  7.2.1 实际应用中的变通   程序代码  Insert INTO butag ( tag, articleid, classid, nclassid)  Select b.tag, a.articleid, a.classid, a.nclassid  FROM article AS a INNER JOIN tag AS b ON a.articleid = b.articleid  Where classid=24;  7.2 添加数据到其他表   程序代码  Insert INTO butag ( tag, articleid )  Select b.tag, a.articleid  FROM article AS a INNER JOIN tag AS b ON a.articleid = b.articleid  Where a.articleid<>False;  //解读  添加到 接收表(列1,列2)  选择 别名b.列1, 别名a.列2  从 表1 表名a 联接 表2 表名b 在 别名a.列c 等于 别名b.列c  在哪里 别名a.列c 不等于 没有  7.1.1 实际应用中的变通   程序代码  Select b.tag, a.articleid, a.classid, a.nclassid  FROM article AS a INNER JOIN tag AS b ON a.articleid = b.articleid  Where a.classid=24;  7.1 查询   程序代码  Select b.tag, a.articleid  FROM article AS a INNER JOIN tag AS b ON a.articleid = b.articleid  Where a.articleid<>False;  //解读  选择 别名b.列, 别名a.列  从 表1 别名a 联接 表2 别名b 在 别名a.列c = 别名b.列c  在哪里 别名a.列c 不等于 没有  注: as 不是必要  7. 外连接——交叉查询  提示: 注意表中相同的栏目  。

最后此篇关于SQL 外链接操作小结 inner join left join right join的文章就讲到这里了,如果你想了解更多关于SQL 外链接操作小结 inner join left join right join的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com