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
- ORACLE_OCP之SQL_子查詢OracleSQL
- SQL查詢的:子查詢和多表查詢SQL
- 什麼是SQL 語句中相關子查詢與非相關子查詢SQL
- 《MySQL 入門教程》第 19 篇 子查詢MySql
- Laravel 中 sql 查詢 使用 group by 報錯問題。LaravelSQL
- group by 查詢原理
- MySQL入門系列:查詢簡介(七)之組合查詢MySql
- group by,having查詢 ”每**“的查詢
- DbForge Studio for SQL Server入門教程:在查詢生成器中建立查詢SQLServer
- MySQL exists關聯子查詢SQL效能及其低下最佳化之等值子查詢轉換MySql
- SQL語言基礎(子查詢)SQL
- sql-server不相關子查詢SQLServer
- sql-server相關子查詢SQLServer
- MySQL之連線查詢和子查詢MySql
- group by分組查詢
- Sql介紹 與 Sql基礎查詢SQL
- dbForge Studio for SQL Server入門教程:如何建立和編輯查詢SQLServer
- exists與in子查詢優化優化
- 【學習】SQL基礎-007-子查詢SQL
- 【SQL】Oracle查詢轉換之 OR用法SQLOracle
- 十七、Mysql之SQL優化查詢MySql優化
- MySQL入門系列:查詢簡介(五)之子查詢MySql
- Elasticsearch Query DSL查詢入門Elasticsearch
- SqlSugar ORM 入門篇2 【查詢】 讓我們實現零SQLSqlSugarORM
- 【SQL】Oracle查詢轉換之物化檢視查詢重寫SQLOracle
- Laravel-查詢-ONLY_FULL_GROUP_BY SQL 模式-報錯限制-解決LaravelSQL模式
- 一文終結SQL 子查詢優化SQL優化
- 複雜查詢—子查詢
- SQL--查詢SQL
- SQL 聚合查詢SQL
- 原生SQL查詢SQL
- 查詢使用者登入資訊sqlSQL
- MySQL子查詢MySql
- 子串查詢
- MYsql 子查詢MySql
- 【SQL】Oracle查詢轉換之謂詞推送SQLOracle
- NOT IN之後的子查詢不能包含NULL值Null