MySQL的兩種子查詢例項解析

2021-12-30 07:39:25 字數 1183 閱讀 5753

一:返回結果為單行單列和單行多列子查詢。

當子查詢的返回結果為單行單列資料記錄時,該子查詢語句一般在主查詢語句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...