一:返回結果為單行單列和單行多列子查詢。
當子查詢的返回結果為單行單列資料記錄時,該子查詢語句一般在主查詢語句where字句裡,通常會包含比較運算子(」=,「);
select name
from t_employee
where sal>(
select sal
from t_employee
where ename='smith'
select name,sal,job
from t_employee
where (sal,job) = (
select sal,job
from t_employee
where name='smith'
二:返回結果為 多行單列子查詢。
有雇員表t_employee和部門表t_dept.
(1).當子查詢的返回結果為多行單列資料記錄時,該子查詢語句一般會在主查詢語句where 字語句裡出現。通常會包含in,any,all,exists等關鍵字。
select *
from t_employee
where deptno in(
select deptno
from t_dept
(2).帶有any關鍵字的子查詢.
關鍵子any用來表示主查詢的條件為滿足子查詢返回查詢結果中任意一條記錄,該關鍵字有三種匹配方式,分別如下:
=any :其功能與關鍵字in一樣。
>any(>=any) :比子查詢中返回資料記錄中最小的資料要大於(大於等於)記錄;
select name,sal
from t_employee
where sal=>any(
select sal from t_employee
where job='manager');
(3).帶有all關鍵字的子查詢.
關鍵子all用來表示主查詢的條件為滿足子查詢返回查詢結果中任意一條記錄,該關鍵字有2種匹配方式,分別如下:
>all(>=all) :比子查詢中返回資料記錄中最大的資料還要大的記錄;
select name,sal
from t_employee
where sal=>all(
select sal from t_employee
where job='manager');
mysql查詢比較 mysql兩種查詢的比較
方法2更好。你可以在mysql 裡面嘗試一下explain。以下是我的分析資料 資料是自己加上的 explain select from good,good category where good.cate id good category.id id select type table type ...
MySQL的兩種模糊查詢總結
一 閱讀該文章,你應該了解mysql基本select語法,正規表示式基礎,sql萬用字元。二 模糊查詢 1.主要有兩種方式 like與sql萬用字元 和 正規表示式模糊查詢。2.like與sql 必須使用like關鍵字 百分號 替代乙個或者多個字元 下劃線 僅替代乙個字元 字元列 字元列中任何乙個單...
MySQL的兩種模糊查詢總結
二 模糊查詢 1.主要有兩種方式 like與sql萬用字元 和 正規表示式模糊查詢。2.like與sql 必須使用like關鍵字 百分號 替代乙個或者多個字元 下劃線 僅替代乙個字元 字元列 字元列中任何乙個單一字元 字元列 或者 字元列 不在字元列中的任何乙個單一字元 select 字段列表 fr...