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不能...