子查询和SQL编程的通知

当一个查询是一个查询条件,则称为子查询,子查询可以使用几个简单的命令来构建功能强大的复合命令。子查询是最常用的SELECT-SQL命令的WHERE子句的子查询是一个SELECT语句,嵌套在一个选择,选择…插入语句,插入…进入语句、删除语句或UPDATE语句,或嵌套在另一个子查询中。

语法:选择从表1列1 >的…(子查询)

查询外父查询和查询嵌入括号称为子查询,SQL服务器执行查询的一部分时,首先执行,得到的子查询的一部分的价值,和整个母执行查询,并返回最终结果。

查看多表数据也可以使用表连接,表的连接(连接…),表的连接可以被查询,但一些子查询不能代替表连接。子查询更灵活、方便、多样,并适合查询筛选。

例如:


结果如下:


1,不在子查询

1 >如果你的查询会返回多个数据线,可以用在和不在运营商构建主查询的检索条件,使用和非运营商是测试是否一个给定的比较值出现在一组特定的。只要数据线在主查询匹配任何一个数据行的子查询返回的值,比较结果会是真的。如果在主查询的数据行不所有数据行的子查询返回的匹配,在运营商的不比较的结果将是真实的。

例如:




选择*从学生那里student_id在(选择student_id从缺失姓名性别student_id);| | |

+ + + + ------- ----- ------------

|凯尔| M | 3 |

|艾比| F | 5 |





2 >和非运营商也可以使用子查询会返回多个数据列。换句话说,你可以使用它们在数据表的子查询。在这一点上,你需要使用一个数据行构造函数给比较值,将数据列的比较。

例如:




选择last_name,first_name,城市,从总统那里的国家(市、州)在(选择城市,国家从总统那里last_name = 'roosevelt ');+ + + + ----------- ------------- ----------- ------- +

last_name first_name市| | | |状态|

+ + + + ----------- ------------- ----------- ------- +

罗斯福西奥多纽约| | | |纽约|

|罗斯福Franklin D.海德公园| | |纽约|

+ + + + ----------- ------------- ----------- ------- +




2、存在和不存在的子查询

存在可以检测数据是否存在。如果一个查询的结果不是空的,存在(子查询)将返回真(true),否则返回(假)。

如果存在(子查询)的声明

存在,如在,也允许不关键字添加到反向操作中,并且不存在不存在。

关注3。子查询

使用子查询的原理

1。子查询必须放在括号中。

2。将子查询在比较条件,增加可读性的权利。

子查询不包含ORDERBY子句的SELECT语句,只有一个ORDER BY子句可以使用,

如果指定了它,它必须放在主SELECT语句的结尾处。

ORDER BY子句可以使用,必要时进行TOP-N分析。

三.比较两个条件可以使用子查询:一行和多行操作算子。

类型的子查询

单行查询:从内部SELECT语句返回一行的查询

多行查询:从内部的SELECT语句的查询返回多行

单行子查询

单排的查询可以返回一个线从内部查询,子查询的类型使用一个单一的线路运营商。单线路运营商在幻灯片上市。

4、查询方法:合并:合并多个数据集中的行查询:将一个查询嵌套到另一个查询中:在多个数据表中连接多个列。

5。什么是相关子查询

相关子查询依赖于外部查询,外部查询的SQL Server查询有关,尤其是在子查询的WHERE语句,相关子查询的工作方式是执行外部查询,发现在查询外部查询参考,然后将结果返回给查询,子查询操作在结果集由外部查询返回。

相关子查询的性能:因为在相关子查询子查询的结果集的执行外部查询返回的子查询,效率绝对减少,子查询的性能完全依赖于查询相关数据。但是,如果相关子查询语句写有效,他们的表现比那些使用多个连接和临时表的性能更好。

通过以上内容的人是不是在SQL编程中有了一定的了解,希望你能得到。