SQL入門之4 group by 與子查詢
使用group by的注意點:
Any column or expression in the SELECT list that is
not an aggregate function must be in the GROUP BY
clause.
-- 說明:select 中的列必須在group by 子句中,在group by 中可以不在select中
?You cannot use the WHERE clause to restrict groups.
?You use the HAVING clause to restrict groups.
?You cannot use group functions in the WHERE clause.
使用子查詢的注意點:
ORA-01427: single-row subquery returns more than one row
原因是使用單行子查詢時,子查詢的返回行資料大於一行,使用in或者修改子查詢,使用之返回唯一行即可
-- Using the ANY Operator in Multiple-Row Subqueries 9000, 6000, 4200
SELECT employee_id, last_name, job_id, salary
FROM employees
WHERE salary < ANY (SELECT salary
FROM employees
WHERE job_id = 'IT_PROG')
AND job_id <> 'IT_PROG';
-- Using the ALL Operator in Multiple-Row Subqueries 9000, 6000, 4200
SELECT employee_id, last_name, job_id, salary
FROM employees
WHERE salary < ALL (SELECT salary
FROM employees
WHERE job_id = 'IT_PROG')
AND job_id <> 'IT_PROG';
-- SG上也有錯,盡信書不如無書
-- 正確的說法應是:
-- 以下有點像
-- 子查詢中有空值,其結果也返回空值
-- 子查詢中不能使用order by
-- null是個不容易對付的傢伙,問下面SQL的返回值是多少?
select case when null=null then 'ok' else 'err' end from dual;
-- WHERE 子句中的子查詢可以巢狀的層數是255
-- 在關聯子查詢中,內部查詢對外部查詢處理的每一行執行一次
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/271063/viewspace-908663/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sql語法相關子查詢與非相關子查詢SQL
- sql子查詢SQL
- sql查詢入門練習題SQL
- ORACLE_OCP之SQL_子查詢OracleSQL
- SQL-小白最佳入門sql查詢一SQL
- SQL查詢的:子查詢和多表查詢SQL
- SQL--子查詢SQL
- SQL 部分函式的使用,子查詢,group by,虛擬欄位,case……SQL函式
- 查詢中的distinct與group by
- 《MySQL 入門教程》第 19 篇 子查詢MySql
- OCP課程8:SQL之使用子查詢SQL
- 什麼是SQL 語句中相關子查詢與非相關子查詢SQL
- Sql Server系列:子查詢SQLServer
- SQL筆記之 子查詢080812SQL筆記
- 【SQL查詢】集合查詢之INTERSECTSQL
- group by 查詢原理
- MySQL入門系列:查詢簡介(七)之組合查詢MySql
- sql遞迴查詢子級SQL遞迴
- MySQL之連線查詢和子查詢MySql
- MySQL exists關聯子查詢SQL效能及其低下最佳化之等值子查詢轉換MySql
- Laravel 中 sql 查詢 使用 group by 報錯問題。LaravelSQL
- 子查詢-表子查詢
- group by,having查詢 ”每**“的查詢
- group by分組查詢
- sql-server不相關子查詢SQLServer
- sql-server相關子查詢SQLServer
- SQL語言基礎(子查詢)SQL
- OCP課程19:SQL之使用子查詢檢索資料SQL
- DbForge Studio for SQL Server入門教程:在查詢生成器中建立查詢SQLServer
- [Mysql 查詢語句]——分組查詢group byMySql
- sql之20再看查詢SQL
- exists與in子查詢優化優化
- SQL -- 使用聯結還是子查詢?SQL
- 【SQL】使用分析函式與關聯子查詢的比較SQL函式
- MySQL入門系列:查詢簡介(五)之子查詢MySql
- Elasticsearch Query DSL查詢入門Elasticsearch
- 訂單綜合查詢之sqlSQL
- sql之20高階查詢SQL