在使用join查询的时候要区分主表和附表,jion ...on .....and
on: 表之间的关联条件
and:对附表做筛选
内连接,两个关联的表都为主表,所以他们的做条件筛选的顺序是:先连接,后筛选。此时 join ...on ... and =join...on... where ....
左连接,这时候左边的表就是主表,所以,主表的数据会全部展示出来,右边的表为附表,此时on连接后在通过and进行筛选的条件对主表不起作用,只对附表起作用。先筛选再连接
右连接,右边的表为主表,左边表变成附表,如果on后面又and 做筛选条件的话,和left join一样 也是先筛选后连接。
条件如下:
1、在on后面加条件仅适合用于left join (right join未测,inner join与where类似)。
2、不考虑where条件下,left join会把左表所有数据查询出来,on及其后面的条件仅仅会影响右表的数据(符合就显示,不符合全部为null)。
3、where后面加条件与左连接本身无关,影响的是连接产生后的数据。
4、所以左连接关注的是左边的主表数据,不应该把on后面的从表中的条件加到where后,这样会影响原有主表中的数据。
SQL具有数据定义、数据 *** 纵和数据控制的功能。
1、SQL数据定义功能:能够定义数据库的三级模式结构,即外模式、全局模式和内模式结构。在SQL中,外模式又叫做视图(View),全局模式简称模式(Schema),内模式由系统根据数据库模式自动实现,一般无需用户过问。
2、SQL数据 *** 纵功能:包括对基本表和视图的数据插入、删除和修改,特别是具有很强的数据查询功能。
3、SQL的数据控制功能:主要是对用户的访问权限加以控制,以保证系统的安全性。
表1 LEFT 表1.b=表2。
表1.a=表2。
FROM &nbsp.b WHERE 表2 JOIN&nbsp.
a ANDON&nbsp: SELECT *&nbsp。
结构化查询语言是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询,同时也是数据库脚本文件的扩展名。
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同 数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口。
1986年10月,美国国家标准协会对SQL进行规范后,以此作为关系式数据库管理系统的标准语言,1987年得到国际标准组织的支持下成为国际标准。
结构化查询语言SQL是最重要的 关系数据库 *** 作语言,并且它的影响已经超出 数据库领域,得到其他领域的重视和采用,如 人工智能领域的数据检索,第四代软件开发工具中嵌入SQL的语言等。
SQL 是1986年10 月由 美国国家标准局通过的 数据库语言美国标准,接着,国际标准化组织颁布了SQL正式国际标准。1989年4月,ISO提出了具有完整性特征的SQL89标准。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)