如何进行sql表连接查询的分析
如何进行sql表连接查询的分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
专注于为中小企业提供成都网站设计、成都做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业惠农免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
连接查询:
连接查询是指基于两个或者两个以上的表或者视图的查询,在实际的应用中,查询单个表可能无法满足应用
程序的需求,这种情况下就需要使用连接查询;
#当使用连接查询的时候,必须在from子句后面制定两个或者两个以上的表
#在使用连接查询的时候,应该在列名前加表明作为前缀,但是,如果不同表之间的列名不同,可以不加表名前缀,如果在不同的表之间存在着同名列,在列名之间必须加上前缀;
#在进行连接查询的时候,可以使用表的别名来简化连接查询语句;
1)相等连接:
相等查询是指使用小灯比较符(=)指定连接条件的连接查询,该类连接查询主要是检索主从表之间的相关数据
select table1.column table2.column from table1,table2 where table1.column1=table2.column2;
2)不等连接:
不等连接是指在连接条件中使用除相等比较符外的其他比较操作符的连接查询;不等连接主要用于在不同表之间显示特定范围的信息
如:select a.ename,a,sal,b.grade from emp a,salgrade b where a.sal between b.losal and b.hisal;
3)自连接:
自连接是指在同一张表之间的查询连接,他主要是用在自参照表显示上下级关系或者主次关系;
如下面有这样一张表
EMPNO ENAME MGR
----------------- ------------- ---------------
7839 KING
7566 JONES 7839
7698 BLAKE 7839
7782 CLARK 7566
在这份表中,有员工id,员工姓名,员工上级,这样的表,本来在行与行之间存在上下级,从属关系,所以这里就用到了自连接;
如:select manager.ename From emp manager,emp worker where manager.empno=worker.mgr and worker.ename='BLAKE'
3)内连接和外连接:
内连接是用于返回满足条件的记录,外连接则是内连接的扩展,他不仅会返回满足条件的所有连接,还会返回不满足连接条件的记录,
语法:
select table1.column,table2.column2 from table1 [INNER | LEFT | RIGHT | FULL ] join table2 on table1.column1=table2.column2
1内连接:内连接返回满足连接条件的所有记录,默认情况下,在执行连接查询时如果没有制定任何操作符,哪么这些连接查询就是属于内连接;其实内连接和等值连接效果是一样的,之所以称之为内连接,是相对与外连接来说的!
如:select a.dname,b.ename from dept a,emp b where a.deptno=b.deptno and a.deptno=10;
2左(右)外连接:左外连接是用LEFT 【RIGHT】JOIN选项来实现的,当使用左(右)外连接的时候,不仅会返回用户连接条件的所有记录,而且会返回不满足连接条件的连接操作符左【右】边表的其他行;
4)完全外连接:
完全外连接是指通过full JOIN来实现的,当使用完全外连接时,不仅会返回满足连接条件的所有行,而且会返回不满足连接条件的所有其他行;
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。
当前文章:如何进行sql表连接查询的分析
文章转载:http://ybzwz.com/article/pjepgh.html