135 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			135 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| set @@recyclebin = off;
 | |
| drop table if exists t1,t2,t3,t4;
 | |
| create table t1(pk1 int, pk2 int, pk3 int, extra int, d int primary key);
 | |
| insert into t1(pk1,pk2,pk3,d) values(1,1,1,1),(2,2,2,2);
 | |
| select * from t1;
 | |
| pk1	pk2	pk3	extra	d
 | |
| 1	1	1	NULL	1
 | |
| 2	2	2	NULL	2
 | |
| insert into t1 values(3,null,null,NULL,3),(null,null,null,null,4);
 | |
| select * from t1;
 | |
| pk1	pk2	pk3	extra	d
 | |
| 1	1	1	NULL	1
 | |
| 2	2	2	NULL	2
 | |
| 3	NULL	NULL	NULL	3
 | |
| NULL	NULL	NULL	NULL	4
 | |
| select * from t1 where extra = NULL;
 | |
| pk1	pk2	pk3	extra	d
 | |
| select * from t1 where extra != NULL;
 | |
| pk1	pk2	pk3	extra	d
 | |
| select * from t1 where extra <=> null;
 | |
| pk1	pk2	pk3	extra	d
 | |
| 1	1	1	NULL	1
 | |
| 2	2	2	NULL	2
 | |
| 3	NULL	NULL	NULL	3
 | |
| NULL	NULL	NULL	NULL	4
 | |
| select * from t1 where extra is not NULL;
 | |
| pk1	pk2	pk3	extra	d
 | |
| select * from t1 where pk1 <=> null and pk2 <=> null and pk3 <=> null;
 | |
| pk1	pk2	pk3	extra	d
 | |
| NULL	NULL	NULL	NULL	4
 | |
| select * from t1 where pk1 = NULL and pk3 = NULL and pk3 = NULL;
 | |
| pk1	pk2	pk3	extra	d
 | |
| select * from t1 where pk1 != NULL and pk2 != NULL and pk3 != NULL;
 | |
| pk1	pk2	pk3	extra	d
 | |
| select * from t1 where pk1 is not NULL and pk2 is not NULL and pk3 is not NULL;
 | |
| pk1	pk2	pk3	extra	d
 | |
| 1	1	1	NULL	1
 | |
| 2	2	2	NULL	2
 | |
| select * from t1 where pk1 in (NULL) and pk2 in (NULL) and pk3 in (NULL);
 | |
| pk1	pk2	pk3	extra	d
 | |
| select * from t1 where pk1 in (NULL,1) and pk2 in (NULL, 1);
 | |
| pk1	pk2	pk3	extra	d
 | |
| 1	1	1	NULL	1
 | |
| update t1 set extra=4 where pk1 = NULL and pk2 = NULL and pk3 = NULL;
 | |
| select * from t1;
 | |
| pk1	pk2	pk3	extra	d
 | |
| 1	1	1	NULL	1
 | |
| 2	2	2	NULL	2
 | |
| 3	NULL	NULL	NULL	3
 | |
| NULL	NULL	NULL	NULL	4
 | |
| update t1 set extra=1 where pk1 <=> null;
 | |
| select * from t1;
 | |
| pk1	pk2	pk3	extra	d
 | |
| 1	1	1	NULL	1
 | |
| 2	2	2	NULL	2
 | |
| 3	NULL	NULL	NULL	3
 | |
| NULL	NULL	NULL	1	4
 | |
| update t1 set extra=2 where pk1 <=> null and pk2 <=> null and pk3 <=> null;
 | |
| select * from t1;
 | |
| pk1	pk2	pk3	extra	d
 | |
| 1	1	1	NULL	1
 | |
| 2	2	2	NULL	2
 | |
| 3	NULL	NULL	NULL	3
 | |
| NULL	NULL	NULL	2	4
 | |
| update t1 set extra=3 where pk1 is not NULL;
 | |
| select * from t1;
 | |
| pk1	pk2	pk3	extra	d
 | |
| 1	1	1	3	1
 | |
| 2	2	2	3	2
 | |
| 3	NULL	NULL	3	3
 | |
| NULL	NULL	NULL	2	4
 | |
| update t1 set extra=4 where pk1 is not NULL and pk2 is not NULL and pk3 is not NULL;
 | |
| select * from t1;
 | |
| pk1	pk2	pk3	extra	d
 | |
| 1	1	1	4	1
 | |
| 2	2	2	4	2
 | |
| 3	NULL	NULL	3	3
 | |
| NULL	NULL	NULL	2	4
 | |
| update t1 set extra=5 where pk1 != NULL;
 | |
| select * from t1;
 | |
| pk1	pk2	pk3	extra	d
 | |
| 1	1	1	4	1
 | |
| 2	2	2	4	2
 | |
| 3	NULL	NULL	3	3
 | |
| NULL	NULL	NULL	2	4
 | |
| update t1 set extra=6 where pk1 != NULL and pk2 != NULL and pk3 != NULL;
 | |
| select * from t1;
 | |
| pk1	pk2	pk3	extra	d
 | |
| 1	1	1	4	1
 | |
| 2	2	2	4	2
 | |
| 3	NULL	NULL	3	3
 | |
| NULL	NULL	NULL	2	4
 | |
| delete from t1 where pk1 != NULL;
 | |
| select * from t1;
 | |
| pk1	pk2	pk3	extra	d
 | |
| 1	1	1	4	1
 | |
| 2	2	2	4	2
 | |
| 3	NULL	NULL	3	3
 | |
| NULL	NULL	NULL	2	4
 | |
| delete from t1 where pk1 != NULL and pk2 != NULL and pk3 != NULL;
 | |
| select * from t1;
 | |
| pk1	pk2	pk3	extra	d
 | |
| 1	1	1	4	1
 | |
| 2	2	2	4	2
 | |
| 3	NULL	NULL	3	3
 | |
| NULL	NULL	NULL	2	4
 | |
| delete from t1 where pk1 = NULL and pk2 = NULL and pk3 = NULL;
 | |
| select * from t1;
 | |
| pk1	pk2	pk3	extra	d
 | |
| 1	1	1	4	1
 | |
| 2	2	2	4	2
 | |
| 3	NULL	NULL	3	3
 | |
| NULL	NULL	NULL	2	4
 | |
| delete from t1 where pk1 <=> null;
 | |
| select * from t1;
 | |
| pk1	pk2	pk3	extra	d
 | |
| 1	1	1	4	1
 | |
| 2	2	2	4	2
 | |
| 3	NULL	NULL	3	3
 | |
| delete from t1 where pk1 <=> null and pk2 <=> null and pk3 <=> null;
 | |
| select * from t1;
 | |
| pk1	pk2	pk3	extra	d
 | |
| 1	1	1	4	1
 | |
| 2	2	2	4	2
 | |
| 3	NULL	NULL	3	3
 | |
| delete from t1 where pk1 is not NULL and pk2 is not NULL and pk3 is not NULL;
 | |
| select * from t1;
 | |
| pk1	pk2	pk3	extra	d
 | |
| 3	NULL	NULL	3	3
 | |
| delete from t1 where pk1 is not NULL;
 | |
| select * from t1;
 | |
| pk1	pk2	pk3	extra	d
 | |
| set @@recyclebin = off;
 | |
| drop table t1;
 | 
