位置: 编程技术 - 正文

SQL查询入门(中篇)(sql查询方法有哪些)

编辑:rootadmin
引言 在前篇文章中(SQL查询入门(上篇),我对数据库查询的基本概念以及单表查询做了详细的解释,本篇文章中,主要说明SQL中的各种连接以及使用范围,以及更进一步的解释关系代数法和关系演算法对在同一条查询的不同思路。 多表连接简介 在关系数据库中,一个查询往往会涉及多个表,因为很少有数据库只有一个表,而如果大多查询只涉及到一个表的,那么那个表也往往低于第三范式,存在大量冗余和异常。 因此,连接(Join)就是一种把多个表连接成一个表的重要手段. 比如简单两个表连接学生表(Student)和班级(Class)表,如图:

进行连接后如图:

笛卡尔积 笛卡尔积在SQL中的实现方式既是交叉连接(Cross Join)。所有连接方式都会先生成临时笛卡尔积表,笛卡尔积是关系代数里的一个概念,表示两个表中的每一行数据任意组合,上图中两个表连接即为笛卡尔积(交叉连接)

在实际应用中,笛卡尔积本身大多没有什么实际用处,只有在两个表连接时加上限制条件,才会有实际意义,下面看内连接

内连接 如果分步骤理解的话,内连接可以看做先对两个表进行了交叉连接后,再通过加上限制条件(SQL中通过关键字on)剔除不符合条件的行的子集,得到的结果就是内连接了.上面的图中,如果我加上限制条件

对于开篇中的两个表,假使查询语句如下: 可以将上面查询语句进行分部理解,首先先将Class表和Student表进行交叉连接,生成如下表:

然后通过on后面的限制条件,只选择那些StudentClassID和ClassID相等的列(上图中划了绿色的部分),最终,得到选择后的表的子集

当然,内连接on后面的限制条件不仅仅是等号,还可以使用比较运算符,包括了>(大于)、>=(大于或等于)、<=(小于或等于)、<(小于)、!>(不大于)、!<(不小于)和<>(不等于)。当然,限制条件所涉及的两个列的数据类型必须匹配. 对于上面的查询语句,如果将on后面限制条件由等于改为大于: 则结果从第一步的笛卡尔积中筛选出那些ClassID大于StudentClassID的子集:

虽然上面连接后的表并没有什么实际意义,但这里仅仅作为DEMO使用:-) 关系演算 上面笛卡尔积的概念是关系代数中的概念,而我在前一篇文章中提到还有关系演算的查询方法.上面的关系代数是分布理解的,上面的语句推导过程是这样的:“对表Student和Class进行内连接,匹配所有ClassID和StudentClassID相等行,选择所有的列” 而关系演算法,更多关注的是我想要什么,比如说上面同样查询,用关系演算法思考的方式是“给我找到所有学生的信息,包括他们的班级信息,班级ID,学生ID,学生姓名” 用关系演算法的SQL查询语句如下: 当然,查询后返回的结果是不会变的: 外连接 假设还是上面两个表,学生和班级.我在学生中添加一个名为Eric的学生,但出于某种原因忘了填写它的班级ID: 当我想执行这样一条查询:给我取得所有学生的姓名和他们所属的班级:

推荐整理分享SQL查询入门(中篇)(sql查询方法有哪些),希望有所帮助,仅作参考,欢迎阅读内容。

SQL查询入门(中篇)(sql查询方法有哪些)

文章相关热门搜索词:sql查询教程,sql%查询,sql查询教程,sql查询方法有哪些,sql查询方法有哪些,sql%查询,sql查询从入门到实践,sql查询从入门到实践,内容如对您有帮助,希望把文章链接给更多的朋友!

SQLServer 镜像功能完全实现 在域环境下我没配置成果,也许是域用户的原因,因为我在生产环境下搞的,更改域用户需要重启SQLServer,所以这个方法放弃了,只能用证书形式。环

数据库中identity字段不必是系统产生的唯一值 性能优化方法(新招) 但是,具有identity特性的字段,不需要具有唯一性,更不必须是主键。可以通过,setidentity_inserttablename(on|off),在运行时控制,是否可以在identity字段中

分享SQL Server删除重复行的6个方法 1.如果有ID字段,就是具有唯一性的字段delecttablewhereidnotin(selectmax(id)fromtablegroupbycol1,col2,col3...)groupby子句后跟的字段就是你用来判断重复的条件,如只有c

标签: sql查询方法有哪些

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

上一篇:SQL查询入门(上篇) 推荐收藏(sql查询从入门到实践)

下一篇:SQLServer 镜像功能完全实现(sql2008r2镜像)

  • 费用的进项税额可以抵扣吗
  • 哪些支出可以税前扣除
  • 营业税金及附加是什么科目
  • 进项税额不允许抵扣怎么计算
  • 补缴的税款和罚款的会计处理
  • 出口商品认证
  • 超过库存现金限额的现金要及时存入银行
  • 游戏公司收入确认方法
  • 房租押金没退款怎么起诉
  • 税务局多扣的一笔钱
  • 分公司能享受小微企业所得税优惠吗
  • 增值税的附加税率是多少
  • 借款业务的会计分录
  • 材料验收入库并结转差异记账凭证
  • 报关单不存在
  • 发票开具提示
  • 异地预缴增值税后本地还要交吗
  • 发票已认证部分怎么撤销
  • 到底如何理解参数方程
  • 给员工发放奖励计入
  • 工会经费的开支必须取得发票么
  • 购进货物无偿赠送其他单位
  • bios设置密码有什么用
  • 存货成本要加上税费吗
  • 服务业公司取得的成果
  • filecopyutils.copy上传文件
  • 拍卖费怎么收
  • 百度有钱花借钱会上征信吗
  • php字符串定义
  • 花卉绿萝的养殖方法
  • php判断字符串是否合法日期
  • 人力资源规划系统包括哪些主要内容
  • 商誉减值后
  • zentaophp框架
  • 相机4244
  • 毕业设计-基于组态软件的流量比值过程控制系统设计
  • 计算机视觉的应用
  • 错误凭证如何修改?所有的错误的凭证都能修改吗?
  • 营改增之后增值税怎么算
  • 费用报销重复了怎么写情况说明
  • 润滑脂开票属于哪一类
  • 企业申请进出口权经营范围
  • 公对公退款必须退至原账户的规定
  • 福利费要分部门吗
  • 季中转一般纳税人申报了小规模后无法勾选认证
  • 网银转账往来款怎么做账
  • 什么情况下要缴纳房产税
  • 资本支出预算属于经营预算吗
  • 已经认证尚未抵扣的发票
  • 个体工商户需要给员工交社保吗
  • 月初包括哪几天
  • 会计法中单位负责人均指法定代表人
  • 服务业有制造费用吗
  • 电脑更换显示器需要重装驱动吗
  • 设计费可以一次支付吗
  • 公司自建房要交房产税吗
  • 技术服务类有哪些
  • 出口货物开票怎么处理
  • 印花税属于什么科目
  • 无票收入怎么做账,要交税吗,填入增值税申报表
  • mysql null+1
  • win10预览版和正式版区别
  • rundll32.exe在哪个文件夹
  • Mac应用程序的格式
  • 怎样关闭windows10安全中心
  • win10系统字体不清晰
  • unity www读取本地视频文件和外部视频文件 播放视频动画和视频声音
  • href中的?
  • jquery-easyui-1.3.3
  • js字符串的操作方法
  • js有哪些作用域,分别是什么意思
  • jquery图片自动滚动
  • javascripvoid
  • c# /n
  • opencvandroid开发实战
  • 重庆国家税务局发票查询
  • 税务局国际税收亮点工作总结
  • 金税工程什么意思
  • 云南省代理记账管理实施办法
  • 税务24号公告
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设