数据库基础学习--SQL语句的连接方式

来源:未知 责任编辑:责任编辑 发表时间:2015-09-16 20:04 点击:

数据库基础学习--SQL语句的连接方式
 
在敲机房收费系统的过程中,遇到了这样一个问题那就是我需要的数据在两个表中,我就想实现如何同时查询两个表呢  对此问题经过查找和问同学得到了解决
 
   解决一  :  也是我自己想的简单的解决方法,那就是把表a中那些需要被令一个表调用的数据,取出来,赋给我自己定义的变量,然后再打开另外一个表B 我定义的变量赋值给相应的字段 就可以了,这样做虽然简单 ,但是我感觉这不是从根本上解决问题。 于是找到了下面的方法。  www.2cto.com  
 
   解决2:   这就涉及到了SQL 语句的连接问题   sql语句的连接分为以下几类  :
 
   外连接
    A、left outer join:
 
       左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。
 
       SQL: select a.a,a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
 
    B:right outer join:  www.2cto.com  
 
       右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。
 
    C:full outer join:
 
      全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。
   内连接
 
     内连接内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。
   www.2cto.com  
     内连接分三种:
 
     1、等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。
使用等值连接,,在选择列表中列出LandTbl和TownTbl表中重复列(TownCode):
 
     例:Select * fromLandTbl as A inner join TownTbl as B on A.TownCode=B.TownCode
 
     2、不等连接:在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值。
这些运算符包括>、>=、<=、<、!>、!<和<>。
 
    例:Select * fromLandTbl as A inner join TownTbl as B on A.TownCode<>B.TownCode
 
    3、自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。
使用自然连接,在选择列表中删除LandTbl和TownTbl表中重复列(TownCode):
  www.2cto.com  
    Select A.*,B.CityCode, B.TownName from LandTbl as A inner join TownTbl as B onA.TownCode=B.TownCode
 
    内连接也称为等同连接,返回的结果集是两个表中所有相匹配的数据,而舍弃不匹配的数据。也就是说,在这种查询中,DBMS只返回来自源表中的相关的行,即查询的结果表包含的两源表行,必须满足ON子句中的搜索条件。作为对照,如果在源表中的行在另一表中没有对应(相关)的行,则该行就被过滤掉,不会包括在结果表中。内连接使用比较运算符来完成
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Request.ServerVariables 参数大全
  • 查看sql修改痕迹(SQL Change Tracking on Table)
  • 写给MongoDB开发者的50条建议Tip1
  • Percolator与分布式事务思考(二)
  • App数据层设计及云存储使用指南
  • PostgreSQL启动过程中的那些事三:加载GUC参数
  • SQL Server、Oracle、db2所提供的简装版(Express)比较
  • PostgreSQL 安装问题
  • 【自主研发-贡献给SQL Server人员】索引诊断与优化软件使用说明
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1