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

MySQL数据库

开发平台:

Visual C++

  1. drop table if exists t1;
  2. select (1,2,3) IN ((3,2,3), (1,2,3), (1,3,3));
  3. (1,2,3) IN ((3,2,3), (1,2,3), (1,3,3))
  4. 1
  5. select row(10,2,3) IN (row(3,2,3), row(1,2,3), row(1,3,3));
  6. row(10,2,3) IN (row(3,2,3), row(1,2,3), row(1,3,3))
  7. 0
  8. select row(1,2,3) IN (row(3,NULL,3), row(1,2,3), row(1,3,3));
  9. row(1,2,3) IN (row(3,NULL,3), row(1,2,3), row(1,3,3))
  10. 1
  11. select row(10,2,3) IN (row(3,NULL,3), row(1,2,3), row(1,3,3));
  12. row(10,2,3) IN (row(3,NULL,3), row(1,2,3), row(1,3,3))
  13. 0
  14. select row('a',1.5,3) IN (row(1,2,3), row('a',1.5,3), row('a','a','a'));
  15. row('a',1.5,3) IN (row(1,2,3), row('a',1.5,3), row('a','a','a'))
  16. 1
  17. select row('a',0,3) IN (row(3,2,3), row('a','0','3'), row(1,3,3));
  18. row('a',0,3) IN (row(3,2,3), row('a','0','3'), row(1,3,3))
  19. 1
  20. select row('a',0,3) IN (row(3,2,3), row('a','a','3'), row(1,3,3));
  21. row('a',0,3) IN (row(3,2,3), row('a','a','3'), row(1,3,3))
  22. 1
  23. select row('a',1.5,3) IN (row(3,NULL,3), row('a',1.5,3), row(1,3,3));
  24. row('a',1.5,3) IN (row(3,NULL,3), row('a',1.5,3), row(1,3,3))
  25. 1
  26. select row('b',1.5,3) IN (row(3,NULL,3), row('a',1.5,3), row(1,3,3));
  27. row('b',1.5,3) IN (row(3,NULL,3), row('a',1.5,3), row(1,3,3))
  28. 0
  29. select row('b',1.5,3) IN (row('b',NULL,3), row('a',1.5,3), row(1,3,3));
  30. row('b',1.5,3) IN (row('b',NULL,3), row('a',1.5,3), row(1,3,3))
  31. NULL
  32. select row('b',1.5,3) IN (row('b',NULL,4), row('a',1.5,3), row(1,3,3));
  33. row('b',1.5,3) IN (row('b',NULL,4), row('a',1.5,3), row(1,3,3))
  34. 0
  35. select (1,2,(3,4)) IN ((3,2,(3,4)), (1,2,(3,4)));
  36. (1,2,(3,4)) IN ((3,2,(3,4)), (1,2,(3,4)))
  37. 1
  38. select row(1,2,row(3,4)) IN (row(3,2,row(3,4)), row(1,2,4));
  39. ERROR 21000: Operand should contain 2 column(s)
  40. select row(1,2,row(3,4)) IN (row(3,2,row(3,4)), row(1,2,row(3,NULL)));
  41. row(1,2,row(3,4)) IN (row(3,2,row(3,4)), row(1,2,row(3,NULL)))
  42. NULL
  43. explain extended select row(1,2,row(3,4)) IN (row(3,2,row(3,4)), row(1,2,row(3,NULL)));
  44. id select_type table type possible_keys key key_len ref rows Extra
  45. 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
  46. Warnings:
  47. Note 1003 select ((1,2,(3,4)) in ((3,2,(3,4)),(1,2,(3,NULL)))) AS `row(1,2,row(3,4)) IN (row(3,2,row(3,4)), row(1,2,row(3,NULL)))`
  48. SELECT (1,2,3)=(0,NULL,3);
  49. (1,2,3)=(0,NULL,3)
  50. 0
  51. SELECT (1,2,3)=(1,NULL,3);
  52. (1,2,3)=(1,NULL,3)
  53. NULL
  54. SELECT (1,2,3)=(1,NULL,0);
  55. (1,2,3)=(1,NULL,0)
  56. NULL
  57. SELECT ROW(1,2,3)=ROW(1,2,3);
  58. ROW(1,2,3)=ROW(1,2,3)
  59. 1
  60. SELECT ROW(2,2,3)=ROW(1+1,2,3);
  61. ROW(2,2,3)=ROW(1+1,2,3)
  62. 1
  63. SELECT ROW(1,2,3)=ROW(1+1,2,3);
  64. ROW(1,2,3)=ROW(1+1,2,3)
  65. 0
  66. SELECT ROW(1,2,3)<ROW(1+1,2,3);
  67. ROW(1,2,3)<ROW(1+1,2,3)
  68. 1
  69. SELECT ROW(1,2,3)>ROW(1+1,2,3);
  70. ROW(1,2,3)>ROW(1+1,2,3)
  71. 0
  72. SELECT ROW(1,2,3)<=ROW(1+1,2,3);
  73. ROW(1,2,3)<=ROW(1+1,2,3)
  74. 1
  75. SELECT ROW(1,2,3)>=ROW(1+1,2,3);
  76. ROW(1,2,3)>=ROW(1+1,2,3)
  77. 0
  78. SELECT ROW(1,2,3)<>ROW(1+1,2,3);
  79. ROW(1,2,3)<>ROW(1+1,2,3)
  80. 1
  81. SELECT ROW(NULL,2,3)=ROW(NULL,2,3);
  82. ROW(NULL,2,3)=ROW(NULL,2,3)
  83. NULL
  84. SELECT ROW(NULL,2,3)<=>ROW(NULL,2,3);
  85. ROW(NULL,2,3)<=>ROW(NULL,2,3)
  86. 1
  87. SELECT ROW(1,2,ROW(3,4,5))=ROW(1,2,ROW(3,4,5));
  88. ROW(1,2,ROW(3,4,5))=ROW(1,2,ROW(3,4,5))
  89. 1
  90. SELECT ROW('test',2,3.33)=ROW('test',2,3.33);
  91. ROW('test',2,3.33)=ROW('test',2,3.33)
  92. 1
  93. SELECT ROW('test',2,3.33)=ROW('test',2,3.33,4);
  94. ERROR 21000: Operand should contain 3 column(s)
  95. SELECT ROW('test',2,ROW(3,33))=ROW('test',2,ROW(3,33));
  96. ROW('test',2,ROW(3,33))=ROW('test',2,ROW(3,33))
  97. 1
  98. SELECT ROW('test',2,ROW(3,33))=ROW('test',2,ROW(3,3));
  99. ROW('test',2,ROW(3,33))=ROW('test',2,ROW(3,3))
  100. 0
  101. SELECT ROW('test',2,ROW(3,33))=ROW('test',2,ROW(3,NULL));
  102. ROW('test',2,ROW(3,33))=ROW('test',2,ROW(3,NULL))
  103. NULL
  104. SELECT ROW('test',2,ROW(3,33))=ROW('test',2,4);
  105. ERROR 21000: Operand should contain 2 column(s)
  106. create table t1 ( a int, b int, c int);
  107. insert into t1 values (1,2,3), (2,3,1), (3,2,1), (1,2,NULL);
  108. select * from t1 where ROW(1,2,3)=ROW(a,b,c);
  109. a b c
  110. 1 2 3
  111. select * from t1 where ROW(0,2,3)=ROW(a,b,c);
  112. a b c
  113. select * from t1 where ROW(1,2,3)<ROW(a,b,c);
  114. a b c
  115. 2 3 1
  116. 3 2 1
  117. select ROW(a,2,3) IN(row(1,b,c), row(2,3,1)) from t1;
  118. ROW(a,2,3) IN(row(1,b,c), row(2,3,1))
  119. 1
  120. 0
  121. 0
  122. NULL
  123. select ROW(c,2,3) IN(row(1,b,a), row(2,3,1)) from t1;
  124. ROW(c,2,3) IN(row(1,b,a), row(2,3,1))
  125. 0
  126. 0
  127. 1
  128. NULL
  129. select ROW(a,b,c) IN(row(1,2,3), row(3,2,1)) from t1;
  130. ROW(a,b,c) IN(row(1,2,3), row(3,2,1))
  131. 1
  132. 0
  133. 1
  134. NULL
  135. select ROW(1,2,3) IN(row(a,b,c), row(1,2,3)) from t1;
  136. ROW(1,2,3) IN(row(a,b,c), row(1,2,3))
  137. 1
  138. 1
  139. 1
  140. 1
  141. drop table t1;
  142. select ROW(1,1);
  143. ERROR 21000: Operand should contain 1 column(s)
  144. create table t1 (i int);
  145. select 1 from t1 where ROW(1,1);
  146. ERROR 21000: Operand should contain 1 column(s)
  147. select count(*) from t1 order by ROW(1,1);
  148. ERROR 21000: Operand should contain 1 column(s)
  149. select count(*) from t1 having (1,1) order by i;
  150. ERROR 21000: Operand should contain 1 column(s)
  151. drop table t1;
  152. create table t1 (a int, b int);
  153. insert into t1 values (1, 4);
  154. insert into t1 values (10, 40);
  155. insert into t1 values (1, 4);
  156. insert into t1 values (10, 43);
  157. insert into t1 values (1, 4);
  158. insert into t1 values (10, 41);
  159. insert into t1 values (1, 4);
  160. insert into t1 values (10, 43);
  161. insert into t1 values (1, 4);
  162. select a, MAX(b), (1, MAX(b)) = (1, 4) from t1 group by a;
  163. a MAX(b) (1, MAX(b)) = (1, 4)
  164. 1 4 1
  165. 10 43 0
  166. drop table t1;
  167. SELECT ROW(2,10) <=> ROW(3,4);
  168. ROW(2,10) <=> ROW(3,4)
  169. 0
  170. SELECT ROW(NULL,10) <=> ROW(3,NULL);
  171. ROW(NULL,10) <=> ROW(3,NULL)
  172. 0