SQL编程中的子查询及注意事项是什么

介绍

今天就跟大家聊聊有关SQL编程中的子查询及注意事项是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

当一个查询是另一个查询的条件时,称之为子查询。子查询可以使用几个简单命令构造功能强大的复合命令。子查询最常用于SQL选择命令的,子句中。子查询是一个选择语句,它嵌套在一个选择,选择…入语句、插入……入语句、删除语句,或更新语句或嵌套在另一子查询中。

<强>语法:从表1,列1选择....祝辞(子查询)

外面的查询成为父查询,圆括号嵌入的查询成为称为子查询。SQL Server 执行时,先执行子查询部分,求出子查询部分的值,再执行整个父查询,返回最后的结果。

查看多表的数据也可使用表连接,表连接(join>SELECT * FROM student WHERE student_id IN (SELECT student_id FROM absence); name | sex | student_id |+-------+-----+------------+| Kyle | M | 3 || Abby | F | 5 |

2>IN和NOT IN操作符还可以用在将返回多个数据列的子查询里。换句话说,你可以在数据表子查询里使用它们。此时,你需要使用一个数据行构造器来给出将与各数据列比较的比较值。

例 如:

SELECT last_name, first_name, city, state FROM president WHERE (city, state) IN (SELECT city, state FROM president WHERE last_name = 'Roosevelt'); +-----------+-------------+-----------+-------+| last_name | first_name | city | state |+-----------+-------------+-----------+-------+| Roosevelt | Theodore | New York | NY || Roosevelt | Franklin D. | Hyde Park | NY |+-----------+-------------+-----------+-------+

2、Exists 和 Not Exists 子查询

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

If Exists (子查询) 语句

Exists 和 In 一样,同样允许添加Not关键字实现取反操作,Not Exists 表示不存在。

3.子查询的注意事项

<1>使用子查询的原则

1.一个子查询必须放在圆括号中。

2.将子查询放在比较条件的右边以增加可读性。

子查询不包含ORDER BY子句。对一个选择语句只能用一个ORDER BY子句,

并且如果指定了它就必须放在主选择语句的最后。

ORDER BY子句可以使用,并且在进行头n个分析时是必须的。

3。在子查询中可以使用两种比较条件:单行运算符和多行运算符。

& lt; 2祝辞子查询的类型

单行子查询:从内选择语句只返回一行的查询

多行子查询:从内选择语句返回多行的查询

& lt; 3祝辞单行子查询

单行子查询是从内查询返回一行的查询。在该子查询类型中用一个单行操作符。幻灯片中列出了单行操作符。

<强> 4。查询的方法: & lt; 1祝辞联合:合并多个数据集中的行& lt; 2祝辞子查询:将一个查询嵌套在另一个查询中& lt; 3祝辞连接:合并多个数据表中的列

<强> 5。什么是相关子查询

相关子查询依赖于外部查询。外部查询和SQL Server子查询是有联系的,尤其在子查询的语在句中更是如此。相关子查询的工作方式是:在子查询中找到外部查询的参考时执行外部查询,此时将结果返回给子查询。然后在外部查询返回的结果集上执行子查询操作。

相关子查询的执行性能:由于相关子查询中的子查询在外部查询返回的结果集上进行执行,其效率肯定下降。子查询的性能完全依赖于查询和有关的数据。但是,如果相关子查询的语句写得很有效率,则其执行性能能够胜过那些使用几个连接和临时表的程序。

看完上述内容,你们对SQL编程中的子查询及注意事项是什么有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

SQL编程中的子查询及注意事项是什么