子查询和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编程中有了一定的了解,希望你能得到。