位置: 编程技术 - 正文

SQL 外链接操作小结 inner join left join right join(sql外连接)

编辑:rootadmin
数据库操作语句 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= 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= AND a.nclassid=; 7.5 更新操作 .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=; 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= 查询别名 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=; 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=; 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=; 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外连接),希望有所帮助,仅作参考,欢迎阅读内容。

SQL 外链接操作小结 inner join   left join   right join(sql外连接)

文章相关热门搜索词:sql外连接,sqlserver 外连接,sql 外联,sql 外联,sql外连接语句,sql外连接语句,sql外连接语句,sql外连接,内容如对您有帮助,希望把文章链接给更多的朋友!

SQL Server中网络备份一例 usemasterdeclare@dirvarchar(),@dir_dbvarchar(),@verbvarchar(),@cmdvarchar(),@backup_namevarchar(),@dynamic_namevarchar(),@disk_namevarchar()--建立网络连接execxp_cmdshell'netu

SQL语句导入导出大全 导出到excelEXECmaster..xp_cmdshell'bcpSettleDB.dbo.shanghuoutc:temp1.xls-c-q-S"GNETDATA/GNETDATA"-U"sa"-P""'导入ExcelSELECT*FROMOpenDataSource('Microsoft.Jet.OLEDB.4.0','DataSource="c:test.xls"

SQL 新增/修改 表字段列的类型等 例如:修改(列名前要有column关键字)ALTERTABLE[USER]ALTERcolumn[NAME]varchar()null新增ALTERTABLE[USER]ADD[PRICE]numeric(,8)NULLDEFAULT0通过更改、添加、除去列和约束,或

标签: sql外连接

本文链接地址:https://www.jiuchutong.com/biancheng/348083.html 转载请保留说明!

上一篇:MSSQL内外连接(INNER JOIN)语句详解(内连接 sql)

下一篇:SQL Server中网络备份一例(sqlserver2005网络配置里没有东西)

  • 停车费增值税税率
  • 积分兑换商品怎么入账
  • 经营性应付项目的增加怎么计算
  • 医疗单位门诊收费票据是发票吗
  • 税控盘服务费抵减有效期几年
  • 开票个人账户的钱怎么查
  • 如何区分劳务报酬与经营所得
  • 抵款车辆低价卖给职工账务处理:
  • 外经证的项目范围
  • 个人转让住宅要交哪些税
  • 什么情况下需要写答
  • 工会经费购买发的东西要算个税吗?
  • 建筑企业在工程所在地全额征收
  • 网上勾选认证发票步骤
  • 职工因公出差伙食补助标准
  • 挂账的费用怎么填制单据凭证
  • 事业单位什么情况下可以提前退休
  • 生产成本属于什么会计要素
  • 企业是核定征收还是查账征收怎么查
  • prevsrv.exe - prevsrv是什么进程 有什么用
  • 输入法自定义按键位置
  • 企业在运行过程中会遇到哪些法律问题
  • 虚拟机系统vmware
  • php字符串定义的三种方式
  • 外币债券汇兑损益怎么算
  • linux源码安装软件的方法介绍
  • PHP:pg_select()的用法_PostgreSQL函数
  • PHP:pg_parameter_status()的用法_PostgreSQL函数
  • 房屋修理费用
  • php二维数组的遍历
  • php编程基础与实例教程
  • 商业会计做账
  • 异常生物见闻录
  • 企业发放误餐补助需要票据吗
  • php上传图片到数据库完整代码
  • php怎么转go
  • 货到付款付的是什么费用
  • 其他资本公积核算科目
  • SQLServer 2008 R2中使用Cross apply统计最新数据和最近数据
  • 固定资产的财务业绩是什么意思啊
  • 制造费用分配后总账月末余额在哪方?
  • 环保税计税依据怎么算
  • sql server怎么恢复
  • 年金保险是指什么保险
  • 出口销售收入要交印花税吗
  • 应交税费的核算范围
  • 建筑工程企业人才优势怎么写
  • 实际成本法如何核算
  • 对账结算流程
  • 建筑业一般纳税人增值税税负
  • 定期定额户超过9万如何交个税
  • 个人开技术服务费
  • 取得股息红利怎么交税
  • 应收票据的分录怎么做
  • 企业汇算清缴调整费用后资产负债表怎么改
  • 企业对外借款是什么意思
  • 特殊销售方式下的销售额确认图文怎么做
  • 进销项月末结转吗
  • 企业有生产单没发票
  • 数据库中的冗余度是什么意思
  • ubuntu下的代码编辑器
  • OS X 10.12.6 beta 1如何更新 OS X 10.12.6 beta 1如何升级
  • sendmail -t
  • centos7tar解压
  • shine.exe - shine是什么进程 有什么用
  • 在Linux操作系统中哪些命令可以正确关闭系统防火墙
  • linux常用桌面环境
  • ,linux
  • js原型继承和构造继承
  • opengl编程实例
  • Python 正则表达式实现计算器功能
  • 自动登入
  • javascript核心技术
  • jquery.form.js下载
  • js初级教程
  • python写邮箱
  • xmpp client
  • 上海餐饮增值税
  • 税务网上抄报流程是什么
  • 国家税务贵州省税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设