mysql语句怎么用as mysql怎样使用( 三 )


from
person.CountryRegion
where
Name
like
'C%')
select
*
from
person.StateProvince
where
CountryRegionCode
in
(select
*
from
@t)
虽然上面的SQL语句要比第一种方式更复杂,但却将子查询放在了表变量@t中,这样做将使SQL语句更容易维护,但又会带来另一个问题,就是性能的损失 。由于表变量实际上使用了临时表,从而增加了额外的I/O开销,因此,表变量的方式并不太适合数据量大且频繁查询的情况 。为此,在SQL
Server
2005中提供了另外一种解决方案,这就是公用表表达式(CTE),使用CTE,可以使SQL语句的可维护性,同时 , CTE要比表变量的效率高得多 。
下面是CTE的语法:
复制代码
代码如下:
[
WITH
common_table_expression
[
,n
]
]
common_table_expression::=
expression_name
[
(
column_name
[
,n
]
)
]
AS
(
CTE_query_definition
)
现在使用CTE来解决上面的问题,SQL语句如下:
复制代码
代码如下:
with
cr
as
(
select
CountryRegionCode
from
person.CountryRegion
where
Name
like
'C%'
)
select
*
from
person.StateProvince
where
CountryRegionCode
in
(select
*
from
cr)
其中cr是一个公用表表达式,该表达式在使用上与表变量类似,只是SQL
Server
2005在处理公用表表达式的方式上有所不同 。
【mysql语句怎么用as mysql怎样使用】mysql语句怎么用as的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于mysql怎样使用、mysql语句怎么用as的信息别忘了在本站进行查找喔 。