SQL语言查询库:联合查询联合查询代码

SQL语言查询库:联合查询联合查询代码
SQL语言查询库:连接查询
多表查询可以通过连接操作符实现,连接是关系数据库模型的主要特征,也是区别于其他类型数据库管理系统的一个标志。
在一个关系型数据库管理系统,数据之间的关系并不确定当表的建立,所有的实体的信息通常存储在一个表中。当数据被检索,存储多个表中的不同实体的信息查询通过连接操作的连接操作给用户。一个很大的灵活性,他们可以在任何时候增加新的数据类型,不同的实体创建新的表,然后通过连接查询。
可以在SELECT语句的from子句或WHERE子句中建立连接。子句中的连接有助于将连接操作与WHERE子句中的搜索条件分开,这是似是而非的,因此建议在Transact-SQL中使用这种方法
的条款由SQL-92标准定义的连接的语法格式如下:
从join_table join_type join_table
{(join_condition)}
join_table指出参与连接操作的表名。连接可以在同一个表上操作,也可以在多个表上操作,并且同一个表的连接也被称为自连接。
join_type指出连接类型,可分为三种类型:
Internal connection (INNER JOIN): compare operation of some (column) data between tables by comparing operators, and list the data rows matching these join conditions in these tables.According to the different comparison methods used, the internal connections are divided into three types: equal value connection, natural connection and unequal connection.
连接分为:左外连接(左外或左(右)参加,加入外连接或右连接(全)连接和全外连接和全连接)三,连接不同的是,不仅在与外部的连接列表连接匹配条件,但表左表(左、右当连接表(右)连接)或两米(全外连接)在匹配搜索条件的所有行。
交叉连接(交叉连接):没有WHERE子句,它返回连接表中所有数据行的笛卡尔乘积。结果是,集合中的数据行数等于满足第一个表中查询条件的数据行数,乘以第二个表中查询条件的数据行数。
在(join_condition)在连接操作的连接条件条款表明,它是由在连接表中的列和比较运算符,逻辑运算符,等等。
没有连接可以直接连接到一个文本、ntext和image数据类型的列,但三列可以间接连接。例如:
选择p1.pub_id,p2.pub_id,p1.pr_info
从pub_info内加入pub_info P1 P2
在数据长度(P1。pr_info)=数据长度(P2。pr_info)
(1)内部连接
内部连接查询操作列出与匹配条件相匹配的数据行,使用比较运算符比较所连接列的列值。有三种内部连接:
1,等价连接:在连接条件下,我们使用等(=)运算符比较连接列的列值,并将连接表中的所有列列在查询结果中,包括重复列。
2、不相等连接:将连接列的列值与连接条件以外的其他比较运算符的列值进行比较,,!。
3、自然连接:在连接条件下,我们使用相等(=)运算符比较连接列的列值,但它使用选择列表来指出查询结果集中包含的列,并删除联接表中的重复列。
例如,等效连接用于在作者和出版商表中列出同一城市中的作者和发布者:
*选择
从作者作为内部连接出版商P
在a.city = p.city
此外,使用自然连接,在选择列表中删除作者和出版商表(城市和州)中的重复列。
选择A,p.pub_id,p.pub_name,p.country
从作者作为内部连接出版商P
在a.city = p.city
(二)外部连接
在一个内部连接,只有一行,返回查询结果集的查询条件相一致(在搜索条件或有条件)和连接条件,外部连接,返回集合中的查询结果不仅包括符合连接条件,而且还包括左表(左、右当连接表(右)连接)或两连接表(全外连接)所有数据行。
如果您使用下面的外部外部连接,请连接论坛的内容和作者的信息:
选择A *,B *从Luntan奔赴9用户管理表B
在a.username = b.username
城市表中的所有作者以及用户表中的所有作者及其所在的城市都在下面使用。
选择A,B,*
从城市作为一个完整的外部连接用户B
在a.username = b.username
(三)交叉连接
交叉连接不包含WHERE子句。它返回连接到它的两个表的所有数据行的笛卡尔乘积。返回到结果集的数据行数等于满足第一个表中查询条件的数据行数,乘以满足查询条件的第二个表中的数据行数。
例如,标题表中有6种类型的图书,在发布表中有8个发布者,下面的交叉连接检索到的记录数量相同。
在6×8=48行上。
选择类型,pub_name
从标题交叉连接出版商
订单类型
SQL语言查询库:联合查询
联合操作符可以将两个或多个SELECT语句的查询结果集组合成一个结果集来显示,也就是联合查询的执行
select_statement
{ } selectstatement联盟所有
{ } { } {所有联盟selectstatement…}
selectstatement是选择查询相结合。
所有选项表示所有行都合并到结果集中。当未指定此项时,联合查询结果集中的重复行将只保留一行。
当查询合并时,查询结果的列标题是第一个查询语句的列标题。因此,列标题的定义必须在第一个查询语句中定义。
使用UNION运算符时,应保证每个节点的查询语句的选择列表有相同的表达式,并且每个查询选择表达应具有相同的数据类型,或者它可以自动转换成相同的数据类型,系统将自动转换,低精度数据类型的高精度数据数值类型。
在包含多个查询的联合语句中,执行序列从左到右,使用圆括号可以更改执行顺序
查询1联合(查询2联合查询3)
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部