当前位置: 首页 > news >正文

90自己做网站seo概念的理解

90自己做网站,seo概念的理解,网购优惠券网站怎么做,织梦文章title怎么显示网站title目录 内外连接和多表查询的区别 内连接 外连接 左外连接 右外连接 简单案例 内外连接和多表查询的区别 在 MySQL 中,内连接是多表查询的一种方式,但多表查询包含的范围更广泛。外连接也是多表查询的一种具体形式,而多表查询是一个更…

 

目录

 

内外连接和多表查询的区别

内连接

外连接 

左外连接

右外连接 

简单案例 


内外连接和多表查询的区别

  • 在 MySQL 中,内连接是多表查询的一种方式,但多表查询包含的范围更广泛。
  • 外连接也是多表查询的一种具体形式,而多表查询是一个更广泛的概念。

内连接(INNER JOIN)主要用于获取两个或多个表中相互匹配的数据行组合。它返回仅在连接条件满足时,两个表中相关行的交集部分。

而多表查询不仅仅局限于内连接,还可能包括其他连接类型,如左连接(LEFT JOIN)、右连接(RIGHT JOIN)、全外连接(FULL OUTER JOIN)等。

内连接

内连接确保了结果集是基于关联条件的精确匹配,
排除了那些在一个表中有而在另一个表中没有对应匹配的行。
SELECT ... FROM t1 INNER JOIN t2 
ON 连接条件 [INNER JOIN t3 ON 连接条件] ... AND 其他条件;
  • SQL中大写的表示关键字,[ ]中代表的是可选项。
  • 内连接的条件通过连接条件指明,用户的其他筛选条件通过其他条件指明。

雇员信息表中包含三张表,分别是员工表(emp)、部门表(dept)和工资等级表(salgrade)。

员工表(emp)中包含如下字段:

  • 雇员编号(empno)
  • 雇员姓名(ename)
  • 雇员职位(job)
  • 雇员领导编号(mgr)
  • 雇佣时间(hiredate)
  • 工资月薪(sal)
  • 奖金(comm)
  • 部门编号(deptno)


部门表(dept)中包含如下字段:

  • 部门编号(deptno)
  • 部门名称(dname)
  • 部门所在地点(loc)


工资等级表(salgrade)中包含如下字段:

  • 等级(grade)
  • 此等级最低工资(losal)
  • 此等级最高工资(hisal)

显示SMITH的名字和部门名称 

复合查询的做法就是,取员工表(emp)和部门表(dept)的笛卡尔积,在where子句中指明筛选条件为员工表(emp)的部门号等于部门表(dept)的部门号,筛选出每个员工匹配的部门信息,并指明员工姓名为SMITH,筛选出SMITH的信息和其所在部门的信息。

select ename,dname from emp,dept 
where emp.deptno=dept.deptno and ename='SMITH';

实际内连接本质就是 多表查询德一种

  • 将员工表(emp)和部门号(dept)放在from子句中并通过 inner join 关键字隔开。
  • on 子句后指明内连接的条件为员工表(emp)的部门号等于部门号(dept)的部门号,保证筛选出来的数据是有意义的。
  • and 之后指明筛选条件为员工的姓名为SMITH。
select ename,dname from emp inner join dept on
emp.deptno=dept.deptno and ename='SMITH'; 

外连接 

左外连接

  • 它会以左边的表为基础,将左边表中的所有记录都包含在结果集中。
  • 对于左边表中的每一条记录,会去右边的表中查找匹配的记录,如果找到匹配的记录,则将两表相关联的数据组合显示;
  • 如果没有找到匹配的记录,那么右边表相关列的值会显示为 NULL。
SELECT ... FROM t1 LEFT JOIN t2 ON 
连接条件 [LEFT JOIN t3 ON 连接条件] ... AND 其他条件;
  • SQL中大写的表示关键字,[ ]中代表的是可选项。
  • 左外连接的条件通过连接条件指明,用户的其他筛选条件通过其他条件指明。

给出一张学生表(stu)和一张成绩表(exam)

 

查询所有学生的成绩,就算这个学生没有成绩,也要将学生的个人信息显示出来 

如果直接使用内连接将学生表和成绩表连接起来,然后筛选出学生学号等于考试学生学号的记录,那么只能筛选出有考试成绩的学生信息。

select stu.id,name,score from stu inner join exam on stu.id=exam.id;

这个时候我们就要使用左外连接了!!!

select stu.id,name,score from stu left join exam on stu.id=exam.id;

右外连接 

  • 右外连接(RIGHT OUTER JOIN)是以右边的表为基础,将右边表中的所有记录都包含在结果集中。
  • 对于右边表中的每一条记录,会去左边的表中查找匹配的记录,如果找到匹配的记录,则将两表相关联的数据组合显示;
  • 如果没有找到匹配的记录,那么左边表相关列的值会显示为 NULL。
SELECT ... FROM t1 RIGHT JOIN t2 ON 
连接条件 [RIGHT JOIN t3 ON 连接条件] ... AND 其他条件;
  • SQL中大写的表示关键字,[ ]中代表的是可选项。
  • 左外连接的条件通过连接条件指明,用户的其他筛选条件通过其他条件指明。

查询所有学生的成绩,就算这个成绩没有学生与它对应,也要将成绩信息显示出来 

select * from exam right join stu on stu.id=exam.id;

简单案例 

列出部门名称和这些部门的员工信息,同时列出没有员工的部门

 题目要求同时列出没有员工的部门,也就是部门表当中的内容需要完全被显示出来,如果在连接部门表(dept)和员工表(emp)时将部门表(dept)放在左侧,那么就可以使用左外连接。

select dname,emp.* from dept left join emp on dept.deptno=emp.deptno;

如果在连接部门表(dept)和员工表(emp)时将员工表(emp)放在左侧,那么就可以使用右外连接。

select dname,emp.* from emp right join dept on dept.deptno=emp.deptno;

 

http://www.ritt.cn/news/16521.html

相关文章:

  • 网站设置仅某浏览器武汉seo计费管理
  • 网站做app用什么语言百度搜索推广的定义
  • 校园类网站模板宁波seo教程行业推广
  • 自己怎么做直播网站武汉seo软件
  • 辽宁建设厅投诉网站免费的网站域名查询565wcc
  • 三河建设厅公示网站十八未成年禁用免费app
  • 北京高端定制网站建设手机百度经验首页登录官网
  • 做网站微信支付多少钱安卓手机优化软件排名
  • 网站建设数据安全分析公司企业网站建设
  • 网站建设多少钱明细网络广告策划案例
  • 做网站能赚能去什么公司厦门seo专业培训学校
  • 免费观看视频的软件哪个好百度优化服务
  • 创业网站平台排名腾讯企点怎么注册
  • 东莞微信网站建设北京推广服务
  • 湖南省金力电力建设有限公司 网站网络营销以什么为中心
  • 做网站用什么格式的图片中国十大网络销售公司
  • 青岛电商网站制作南京seo优化培训
  • 做网站的大骗子网站优化公司上海
  • asp语言网站建设网站关键词查询网址
  • 用phython做网站seo推广方案怎么做
  • 海南中小企业网站建设今日头条普通版
  • 前端做一个页面多少钱seo网站优化培训找哪些
  • 从哪里设置网站关键词独立站怎么建站
  • 自己用钢管做里闪弹枪视频和照网站河南优化网站
  • 做网站字体要求搜索引擎优化原理
  • 建站网站知乎广州营销型网站
  • 如何制作局域网站百度网盘seo优化
  • cad dwt模板做网站模版站长工具关键词查询
  • 锋创科技园网站建设聊城seo整站优化报价
  • 增加网站点击量微信广点通广告平台