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

MySQL数据库

开发平台:

Visual C++

  1. # Initialise
  2. --disable_warnings
  3. drop table if exists t1;
  4. --enable_warnings
  5. select (1,2,3) IN ((3,2,3), (1,2,3), (1,3,3));
  6. select row(10,2,3) IN (row(3,2,3), row(1,2,3), row(1,3,3));
  7. select row(1,2,3) IN (row(3,NULL,3), row(1,2,3), row(1,3,3));
  8. select row(10,2,3) IN (row(3,NULL,3), row(1,2,3), row(1,3,3));
  9. select row('a',1.5,3) IN (row(1,2,3), row('a',1.5,3), row('a','a','a'));
  10. select row('a',0,3) IN (row(3,2,3), row('a','0','3'), row(1,3,3));
  11. select row('a',0,3) IN (row(3,2,3), row('a','a','3'), row(1,3,3));
  12. select row('a',1.5,3) IN (row(3,NULL,3), row('a',1.5,3), row(1,3,3));
  13. select row('b',1.5,3) IN (row(3,NULL,3), row('a',1.5,3), row(1,3,3));
  14. select row('b',1.5,3) IN (row('b',NULL,3), row('a',1.5,3), row(1,3,3));
  15. select row('b',1.5,3) IN (row('b',NULL,4), row('a',1.5,3), row(1,3,3));
  16. select (1,2,(3,4)) IN ((3,2,(3,4)), (1,2,(3,4)));
  17. -- error 1241
  18. select row(1,2,row(3,4)) IN (row(3,2,row(3,4)), row(1,2,4));
  19. select row(1,2,row(3,4)) IN (row(3,2,row(3,4)), row(1,2,row(3,NULL)));
  20. explain extended select row(1,2,row(3,4)) IN (row(3,2,row(3,4)), row(1,2,row(3,NULL)));
  21. SELECT (1,2,3)=(0,NULL,3);
  22. SELECT (1,2,3)=(1,NULL,3);
  23. # here's something for Sanja to fix :)
  24. SELECT (1,2,3)=(1,NULL,0);
  25. SELECT ROW(1,2,3)=ROW(1,2,3);
  26. SELECT ROW(2,2,3)=ROW(1+1,2,3);
  27. SELECT ROW(1,2,3)=ROW(1+1,2,3);
  28. SELECT ROW(1,2,3)<ROW(1+1,2,3);
  29. SELECT ROW(1,2,3)>ROW(1+1,2,3);
  30. SELECT ROW(1,2,3)<=ROW(1+1,2,3);
  31. SELECT ROW(1,2,3)>=ROW(1+1,2,3);
  32. SELECT ROW(1,2,3)<>ROW(1+1,2,3);
  33. SELECT ROW(NULL,2,3)=ROW(NULL,2,3);
  34. SELECT ROW(NULL,2,3)<=>ROW(NULL,2,3);
  35. SELECT ROW(1,2,ROW(3,4,5))=ROW(1,2,ROW(3,4,5));
  36. SELECT ROW('test',2,3.33)=ROW('test',2,3.33);
  37. -- error 1241
  38. SELECT ROW('test',2,3.33)=ROW('test',2,3.33,4);
  39. SELECT ROW('test',2,ROW(3,33))=ROW('test',2,ROW(3,33));
  40. SELECT ROW('test',2,ROW(3,33))=ROW('test',2,ROW(3,3));
  41. SELECT ROW('test',2,ROW(3,33))=ROW('test',2,ROW(3,NULL));
  42. -- error 1241
  43. SELECT ROW('test',2,ROW(3,33))=ROW('test',2,4);
  44. create table t1 ( a int, b int, c int);
  45. insert into t1 values (1,2,3), (2,3,1), (3,2,1), (1,2,NULL);
  46. select * from t1 where ROW(1,2,3)=ROW(a,b,c);
  47. select * from t1 where ROW(0,2,3)=ROW(a,b,c);
  48. select * from t1 where ROW(1,2,3)<ROW(a,b,c);
  49. select ROW(a,2,3) IN(row(1,b,c), row(2,3,1)) from t1;
  50. select ROW(c,2,3) IN(row(1,b,a), row(2,3,1)) from t1;
  51. select ROW(a,b,c) IN(row(1,2,3), row(3,2,1)) from t1;
  52. select ROW(1,2,3) IN(row(a,b,c), row(1,2,3)) from t1;
  53. drop table t1;
  54. -- error 1241
  55. select ROW(1,1);
  56. create table t1 (i int);
  57. -- error 1241
  58. select 1 from t1 where ROW(1,1);
  59. -- error 1241
  60. select count(*) from t1 order by ROW(1,1);
  61. -- error 1241
  62. select count(*) from t1 having (1,1) order by i;
  63. drop table t1;
  64. create table t1 (a int, b int);
  65. insert into t1 values (1, 4);
  66. insert into t1 values (10, 40);
  67. insert into t1 values (1, 4);
  68. insert into t1 values (10, 43);
  69. insert into t1 values (1, 4);
  70. insert into t1 values (10, 41);
  71. insert into t1 values (1, 4);
  72. insert into t1 values (10, 43);
  73. insert into t1 values (1, 4);
  74. select a, MAX(b), (1, MAX(b)) = (1, 4) from t1 group by a;
  75. drop table t1;
  76. SELECT ROW(2,10) <=> ROW(3,4);
  77. SELECT ROW(NULL,10) <=> ROW(3,NULL);
  78. # End of 4.1 tests