func_in.result
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:4k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. drop table if exists t1;
  2. select 1 in (1,2,3);
  3. 1 in (1,2,3)
  4. 1
  5. select 10 in (1,2,3);
  6. 10 in (1,2,3)
  7. 0
  8. select NULL in (1,2,3);
  9. NULL in (1,2,3)
  10. NULL
  11. select 1 in (1,NULL,3);
  12. 1 in (1,NULL,3)
  13. 1
  14. select 3 in (1,NULL,3);
  15. 3 in (1,NULL,3)
  16. 1
  17. select 10 in (1,NULL,3);
  18. 10 in (1,NULL,3)
  19. NULL
  20. select 1.5 in (1.5,2.5,3.5);
  21. 1.5 in (1.5,2.5,3.5)
  22. 1
  23. select 10.5 in (1.5,2.5,3.5);
  24. 10.5 in (1.5,2.5,3.5)
  25. 0
  26. select NULL in (1.5,2.5,3.5);
  27. NULL in (1.5,2.5,3.5)
  28. NULL
  29. select 1.5 in (1.5,NULL,3.5);
  30. 1.5 in (1.5,NULL,3.5)
  31. 1
  32. select 3.5 in (1.5,NULL,3.5);
  33. 3.5 in (1.5,NULL,3.5)
  34. 1
  35. select 10.5 in (1.5,NULL,3.5);
  36. 10.5 in (1.5,NULL,3.5)
  37. NULL
  38. CREATE TABLE t1 (a int, b int, c int);
  39. insert into t1 values (1,2,3), (1,NULL,3);
  40. select 1 in (a,b,c) from t1;
  41. 1 in (a,b,c)
  42. 1
  43. 1
  44. select 3 in (a,b,c) from t1;
  45. 3 in (a,b,c)
  46. 1
  47. 1
  48. select 10 in (a,b,c) from t1;
  49. 10 in (a,b,c)
  50. 0
  51. NULL
  52. select NULL in (a,b,c) from t1;
  53. NULL in (a,b,c)
  54. NULL
  55. NULL
  56. drop table t1;
  57. CREATE TABLE t1 (a float, b float, c float);
  58. insert into t1 values (1.5,2.5,3.5), (1.5,NULL,3.5);
  59. select 1.5 in (a,b,c) from t1;
  60. 1.5 in (a,b,c)
  61. 1
  62. 1
  63. select 3.5 in (a,b,c) from t1;
  64. 3.5 in (a,b,c)
  65. 1
  66. 1
  67. select 10.5 in (a,b,c) from t1;
  68. 10.5 in (a,b,c)
  69. 0
  70. NULL
  71. drop table t1;
  72. CREATE TABLE t1 (a varchar(10), b varchar(10), c varchar(10));
  73. insert into t1 values ('A','BC','EFD'), ('A',NULL,'EFD');
  74. select 'A' in (a,b,c) from t1;
  75. 'A' in (a,b,c)
  76. 1
  77. 1
  78. select 'EFD' in (a,b,c) from t1;
  79. 'EFD' in (a,b,c)
  80. 1
  81. 1
  82. select 'XSFGGHF' in (a,b,c) from t1;
  83. 'XSFGGHF' in (a,b,c)
  84. 0
  85. NULL
  86. drop table t1;
  87. CREATE TABLE t1 (field char(1));
  88. INSERT INTO t1 VALUES ('A'),(NULL);
  89. SELECT * from t1 WHERE field IN (NULL);
  90. field
  91. SELECT * from t1 WHERE field NOT IN (NULL);
  92. field
  93. SELECT * from t1 where field = field;
  94. field
  95. A
  96. SELECT * from t1 where field <=> field;
  97. field
  98. A
  99. NULL
  100. DELETE FROM t1 WHERE field NOT IN (NULL);
  101. SELECT * FROM t1;
  102. field
  103. A
  104. NULL
  105. drop table t1;
  106. create table t1 (id int(10) primary key);
  107. insert into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9);
  108. select * from t1 where id in (2,5,9);
  109. id
  110. 2
  111. 5
  112. 9
  113. drop table t1;
  114. create table t1 (
  115. a char(1) character set latin1 collate latin1_general_ci,
  116. b char(1) character set latin1 collate latin1_swedish_ci,
  117. c char(1) character set latin1 collate latin1_danish_ci
  118. );
  119. insert into t1 values ('A','B','C');
  120. insert into t1 values ('a','c','c');
  121. select * from t1 where a in (b);
  122. ERROR HY000: Illegal mix of collations (latin1_general_ci,IMPLICIT) and (latin1_swedish_ci,IMPLICIT) for operation ' IN '
  123. select * from t1 where a in (b,c);
  124. ERROR HY000: Illegal mix of collations (latin1_general_ci,IMPLICIT), (latin1_swedish_ci,IMPLICIT), (latin1_danish_ci,IMPLICIT) for operation ' IN '
  125. select * from t1 where 'a' in (a,b,c);
  126. ERROR HY000: Illegal mix of collations for operation ' IN '
  127. select * from t1 where 'a' in (a);
  128. a b c
  129. A B C
  130. a c c
  131. select * from t1 where a in ('a');
  132. a b c
  133. A B C
  134. a c c
  135. select * from t1 where 'a' collate latin1_general_ci in (a,b,c);
  136. a b c
  137. A B C
  138. a c c
  139. select * from t1 where 'a' collate latin1_bin in (a,b,c);
  140. a b c
  141. a c c
  142. select * from t1 where 'a' in (a,b,c collate latin1_bin);
  143. a b c
  144. a c c
  145. explain extended select * from t1 where 'a' in (a,b,c collate latin1_bin);
  146. id select_type table type possible_keys key key_len ref rows Extra
  147. 1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using where
  148. Warnings:
  149. Note 1003 select test.t1.a AS `a`,test.t1.b AS `b`,test.t1.c AS `c` from test.t1 where (_latin1'a' in (test.t1.a,test.t1.b,(test.t1.c collate _latin1'latin1_bin')))
  150. drop table t1;
  151. set names utf8;
  152. create table t1 (a char(10) character set utf8 not null);
  153. insert into t1 values ('bbbb'),(_koi8r'妹妹'),(_latin1'哪哪');
  154. select a from t1 where a in ('bbbb',_koi8r'妹妹',_latin1'哪哪') order by a;
  155. a
  156. 脛脛脛脛
  157. bbbb
  158. 褑褑褑褑
  159. drop table t1;
  160. create table t1 (a char(10) character set latin1 not null);
  161. insert into t1 values ('a'),('b'),('c');
  162. select a from t1 where a IN ('a','b','c') order by a;
  163. a
  164. a
  165. b
  166. c
  167. drop table t1;
  168. set names latin1;
  169. select '1.0' in (1,2);
  170. '1.0' in (1,2)
  171. 1
  172. select 1 in ('1.0',2);
  173. 1 in ('1.0',2)
  174. 1
  175. select 1 in (1,'2.0');
  176. 1 in (1,'2.0')
  177. 1
  178. select 1 in ('1.0',2.0);
  179. 1 in ('1.0',2.0)
  180. 1
  181. select 1 in (1.0,'2.0');
  182. 1 in (1.0,'2.0')
  183. 1
  184. select 1 in ('1.1',2);
  185. 1 in ('1.1',2)
  186. 0
  187. select 1 in ('1.1',2.0);
  188. 1 in ('1.1',2.0)
  189. 0
  190. create table t1 (a char(20) character set binary);
  191. insert into t1 values ('aa'), ('bb');
  192. select * from t1 where a in (NULL, 'aa');
  193. a
  194. aa
  195. drop table t1;
  196. create table t1 (id int, key(id));
  197. insert into t1 values (1),(2),(3);
  198. select count(*) from t1 where id not in (1);
  199. count(*)
  200. 2
  201. select count(*) from t1 where id not in (1,2);
  202. count(*)
  203. 1
  204. drop table t1;