<strike id="5ntnv"><i id="5ntnv"><del id="5ntnv"></del></i></strike>
<strike id="5ntnv"></strike><ruby id="5ntnv"></ruby><del id="5ntnv"><dl id="5ntnv"><del id="5ntnv"></del></dl></del><strike id="5ntnv"><dl id="5ntnv"><del id="5ntnv"></del></dl></strike>
<strike id="5ntnv"></strike>
<strike id="5ntnv"></strike>
<span id="5ntnv"><dl id="5ntnv"></dl></span>
<strike id="5ntnv"><i id="5ntnv"><del id="5ntnv"></del></i></strike><th id="5ntnv"><noframes id="5ntnv"><span id="5ntnv"><dl id="5ntnv"><del id="5ntnv"></del></dl></span>
<span id="5ntnv"></span>
<strike id="5ntnv"><dl id="5ntnv"><del id="5ntnv"></del></dl></strike>
<strike id="5ntnv"><dl id="5ntnv"><del id="5ntnv"></del></dl></strike><strike id="5ntnv"><i id="5ntnv"></i></strike><span id="5ntnv"></span>
<strike id="5ntnv"></strike>
<strike id="5ntnv"></strike>
<th id="5ntnv"><noframes id="5ntnv">
<ruby id="5ntnv"></ruby>
<strike id="5ntnv"><dl id="5ntnv"></dl></strike>

貴州網站建設公司貴州網站建設公司

1.6 在WHERE子句中引用取別名的列


如下查詢,中引會拋出錯誤:

mysql> select sal as salary,別名 comm as commission from emp where salary < 5000;
ERROR 1054 (42S22): Unknown column 'salary' in 'where clause'


解決方案

將查詢作為內聯視圖就可以就可以引用其中別名的列了:

select *
from (
select sal as salary, comm as commission
from emp ) x
where salary < 5000

在這個簡單的示例中,可以不使用內聯視圖,中引也不用在WHERE子句中直接引用COMM或SAL而得到相同的別名結果。本方案介紹的中引方法在下列情形的WHERE子句都可以使用:

聚集函數
標量子查詢
視窗函數
別名

將取別名的查詢作為內聯視圖,便可以在外部查詢中引用其別名列,別名為什么要這么做呢?WHERE子句是中引在SELECT子句之前進行處理的,在處理求解查詢“問題”WHERE子句之前,別名SALARY和COMMISSION并不存在,中引要到WHERE子句處理完成之后,別名別名才有效。中引然而,別名FROM子句是中引在WHERE子句之前進行處理的。將原始查詢放在FROM之句之中,別名那么,中引在最外層的WHERE子句之前,以及最外層的WHERE子句“看到”別名之前,就已經生成了查詢結果。

 

作者:屠魔的少年終究成魔
來源鏈接:https://www.cnblogs.com/l10n/p/12704575.html

贊(5)
未經允許不得轉載:>貴州網站建設公司 » 1.6 在WHERE子句中引用取別名的列
国产欧美精品