mysql中的限定謂詞和null

2021-10-13 19:11:37 字數 1601 閱讀 1841

mysql中的限定我也是後來才了解,但是之前一直沒用

幾個常用的限定謂詞

all , some , any

在子查詢中會用

create table class_a

(name varchar(16) primary key,

age integer,

city varchar(16) not null );

create table class_b

(name varchar(16) primary key,

age integer,

city varchar(16) not null );

insert into class_a values('布朗', 22, '東京');

insert into class_a values('拉里', 19, '埼玉');

insert into class_a values('伯傑', 21, '千葉');

insert into class_b values('齊藤', 22, '東京');

insert into class_b values('田尻', 23, '東京');

insert into class_b values('山田', null, '東京');

insert into class_b values('和泉', 18, '千葉');

insert into class_b values('武田', 20, '千葉');

insert into class_b values('石川', 19, '神奈川');

需求:

將上述**的空值填為20,查詢」比b班住在東京的所有學生年齡都小的a班學生「

mariadb [test]> select * from class_a  where age修改後的sql(正確)

select * from class_a where age1.使用限定謂詞all查詢

--使用限定謂詞all查詢

mysql> select * from class_a

-> where age2.使用極值函式

--使用極值函式

mysql> select * from class_a

-> where age<(select min(age) from class_b where city='東京');

+--------+------+--------+

| name | age | city |

+--------+------+--------+

| 伯傑 | 21 | 千葉 |

| 拉里 | 19 | 埼玉 |

+--------+------+--------+

1.極值函式在統計時會把null的資料排除掉

2.all謂詞,不會把null值的資料排除掉

3.null和all謂詞不是等價的情況

all謂詞裡面查詢的列中有null值

all謂詞裡面查詢的列是乙個空集

iOS中謂詞的使用

cocoa提供了乙個類nspredicate類,該類主要用於指定過濾器的條件,該物件可以準確的描述所需條件,對每個物件通過謂詞進行篩選,判斷是否與條件相匹配。謂詞表示計算真值或假值的函式。在cocoa中封裝的乙個資料庫框架cocoadata裡面 在進行查詢 包括模糊查詢 時同樣會要用到謂詞 下面對謂...

iOS中的謂詞NSPredicate

nspredicate的坑,正規表示式無論是否新增 或 系統會自動新增開始字元和結束字元,和我們平常使用的不太一樣,所以要寫出完整的匹配表示式。nsstring regex u4e00 u9fa5a za z nspredicate predicate nspredicate predicatewi...

java中的super限定

super的用法 1 如果需要在子類中呼叫父類中被覆蓋的例項方法,可以用super限定來呼叫父類中被覆蓋的方法。當然,也可以呼叫從父類繼承的例項變數。public void calloverridedmethod 注 super限定用於限定該物件呼叫它從父類繼承的例項變數或者方法,但是super不能...