亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? subquery.test

?? 新版輕量級嵌入式數(shù)據(jù)庫
?? TEST
字號:
# 2005 January 19## The author disclaims copyright to this source code.  In place of# a legal notice, here is a blessing:##    May you do good and not evil.#    May you find forgiveness for yourself and forgive others.#    May you share freely, never taking more than you give.##*************************************************************************# This file implements regression tests for SQLite library.  The# focus of this script is testing correlated subqueries## $Id: subquery.test,v 1.14 2006/01/17 09:35:02 danielk1977 Exp $#set testdir [file dirname $argv0]source $testdir/tester.tclifcapable !subquery {  finish_test  return}do_test subquery-1.1 {  execsql {    BEGIN;    CREATE TABLE t1(a,b);    INSERT INTO t1 VALUES(1,2);    INSERT INTO t1 VALUES(3,4);    INSERT INTO t1 VALUES(5,6);    INSERT INTO t1 VALUES(7,8);    CREATE TABLE t2(x,y);    INSERT INTO t2 VALUES(1,1);    INSERT INTO t2 VALUES(3,9);    INSERT INTO t2 VALUES(5,25);    INSERT INTO t2 VALUES(7,49);    COMMIT;  }  execsql {    SELECT a, (SELECT y FROM t2 WHERE x=a) FROM t1 WHERE b<8  }} {1 1 3 9 5 25}do_test subquery-1.2 {  execsql {    UPDATE t1 SET b=b+(SELECT y FROM t2 WHERE x=a);    SELECT * FROM t1;  }} {1 3 3 13 5 31 7 57}do_test subquery-1.3 {  execsql {    SELECT b FROM t1 WHERE EXISTS(SELECT * FROM t2 WHERE y=a)  }} {3}do_test subquery-1.4 {  execsql {    SELECT b FROM t1 WHERE NOT EXISTS(SELECT * FROM t2 WHERE y=a)  }} {13 31 57}# Simple tests to make sure correlated subqueries in WHERE clauses# are used by the query optimizer correctly.do_test subquery-1.5 {  execsql {    SELECT a, x FROM t1, t2 WHERE t1.a = (SELECT x);  }} {1 1 3 3 5 5 7 7}do_test subquery-1.6 {  execsql {    CREATE INDEX i1 ON t1(a);    SELECT a, x FROM t1, t2 WHERE t1.a = (SELECT x);  }} {1 1 3 3 5 5 7 7}do_test subquery-1.7 {  execsql {    SELECT a, x FROM t2, t1 WHERE t1.a = (SELECT x);  }} {1 1 3 3 5 5 7 7}# Try an aggregate in both the subquery and the parent query.do_test subquery-1.8 {  execsql {    SELECT count(*) FROM t1 WHERE a > (SELECT count(*) FROM t2);  }} {2}# Test a correlated subquery disables the "only open the index" optimization.do_test subquery-1.9.1 {  execsql {    SELECT (y*2)>b FROM t1, t2 WHERE a=x;  }} {0 1 1 1}do_test subquery-1.9.2 {  execsql {    SELECT a FROM t1 WHERE (SELECT (y*2)>b FROM t2 WHERE a=x);   }} {3 5 7}# Test that the flattening optimization works with subquery expressions.do_test subquery-1.10.1 {  execsql {    SELECT (SELECT a), b FROM t1;  }} {1 3 3 13 5 31 7 57}do_test subquery-1.10.2 {  execsql {    SELECT * FROM (SELECT (SELECT a), b FROM t1);  }} {1 3 3 13 5 31 7 57}do_test subquery-1.10.3 {  execsql {    SELECT * FROM (SELECT (SELECT sum(a) FROM t1));  }} {16}do_test subquery-1.10.4 {  execsql {    CREATE TABLE t5 (val int, period text PRIMARY KEY);    INSERT INTO t5 VALUES(5, '2001-3');    INSERT INTO t5 VALUES(10, '2001-4');    INSERT INTO t5 VALUES(15, '2002-1');    INSERT INTO t5 VALUES(5, '2002-2');    INSERT INTO t5 VALUES(10, '2002-3');    INSERT INTO t5 VALUES(15, '2002-4');    INSERT INTO t5 VALUES(10, '2003-1');    INSERT INTO t5 VALUES(5, '2003-2');    INSERT INTO t5 VALUES(25, '2003-3');    INSERT INTO t5 VALUES(5, '2003-4');    SELECT "a.period", vsum    FROM (SELECT       a.period,      (select sum(val) from t5 where period between a.period and '2002-4') vsum      FROM t5 a where a.period between '2002-1' and '2002-4')    WHERE vsum < 45 ;  }} {2002-2 30 2002-3 25 2002-4 15}do_test subquery-1.10.5 {  execsql {    SELECT "a.period", vsum from      (select a.period,      (select sum(val) from t5 where period between a.period and '2002-4') vsum    FROM t5 a where a.period between '2002-1' and '2002-4')     WHERE vsum < 45 ;  }} {2002-2 30 2002-3 25 2002-4 15}do_test subquery-1.10.6 {  execsql {    DROP TABLE t5;  }} {}#------------------------------------------------------------------# The following test cases - subquery-2.* - are not logically# organized. They're here largely because they were failing during# one stage of development of sub-queries.#do_test subquery-2.1 {  execsql {    SELECT (SELECT 10);  }} {10}do_test subquery-2.2.1 {  execsql {    CREATE TABLE t3(a PRIMARY KEY, b);    INSERT INTO t3 VALUES(1, 2);    INSERT INTO t3 VALUES(3, 1);  }} {}do_test subquery-2.2.2 {  execsql {    SELECT * FROM t3 WHERE a IN (SELECT b FROM t3);  }} {1 2}do_test subquery-2.2.3 {  execsql {    DROP TABLE t3;  }} {}do_test subquery-2.3.1 {  execsql {    CREATE TABLE t3(a TEXT);    INSERT INTO t3 VALUES('10');  }} {}do_test subquery-2.3.2 {  execsql {    SELECT a IN (10.0, 20) FROM t3;  }} {0}do_test subquery-2.3.3 {  execsql {    DROP TABLE t3;  }} {}do_test subquery-2.4.1 {  execsql {    CREATE TABLE t3(a TEXT);    INSERT INTO t3 VALUES('XX');  }} {}do_test subquery-2.4.2 {  execsql {    SELECT count(*) FROM t3 WHERE a IN (SELECT 'XX')  }} {1}do_test subquery-2.4.3 {  execsql {    DROP TABLE t3;  }} {}do_test subquery-2.5.1 {  execsql {    CREATE TABLE t3(a INTEGER);    INSERT INTO t3 VALUES(10);    CREATE TABLE t4(x TEXT);    INSERT INTO t4 VALUES('10.0');  }} {}do_test subquery-2.5.2 {  # In the expr "x IN (SELECT a FROM t3)" the RHS of the IN operator  # has text affinity and the LHS has integer affinity.  The rule is  # that we try to convert both sides to an integer before doing the  # comparision.  Hence, the integer value 10 in t3 will compare equal  # to the string value '10.0' in t4 because the t4 value will be  # converted into an integer.  execsql {    SELECT * FROM t4 WHERE x IN (SELECT a FROM t3);  }} {10.0}do_test subquery-2.5.3.1 {  # The t4i index cannot be used to resolve the "x IN (...)" constraint  # because the constraint has integer affinity but t4i has text affinity.  execsql {    CREATE INDEX t4i ON t4(x);    SELECT * FROM t4 WHERE x IN (SELECT a FROM t3);  }} {10.0}do_test subquery-2.5.3.2 {  # Verify that the t4i index was not used in the previous query  set ::sqlite_query_plan} {t4 {}}do_test subquery-2.5.4 {  execsql {    DROP TABLE t3;    DROP TABLE t4;  }} {}#------------------------------------------------------------------# The following test cases - subquery-3.* - test tickets that# were raised during development of correlated subqueries.## Ticket 1083ifcapable view {  do_test subquery-3.1 {    catchsql { DROP TABLE t1; }    catchsql { DROP TABLE t2; }    execsql {      CREATE TABLE t1(a,b);      INSERT INTO t1 VALUES(1,2);      CREATE VIEW v1 AS SELECT b FROM t1 WHERE a>0;      CREATE TABLE t2(p,q);      INSERT INTO t2 VALUES(2,9);      SELECT * FROM v1 WHERE EXISTS(SELECT * FROM t2 WHERE p=v1.b);    }  } {2}} else {  catchsql { DROP TABLE t1; }  catchsql { DROP TABLE t2; }  execsql {    CREATE TABLE t1(a,b);    INSERT INTO t1 VALUES(1,2);    CREATE TABLE t2(p,q);    INSERT INTO t2 VALUES(2,9);  }}# Ticket 1084do_test subquery-3.2 {  catchsql {    CREATE TABLE t1(a,b);    INSERT INTO t1 VALUES(1,2);  }  execsql {    SELECT (SELECT t1.a) FROM t1;  }} {1}# Test Cases subquery-3.3.* test correlated subqueries where the# parent query is an aggregate query. Ticket #1105 is an example# of such a query.#do_test subquery-3.3.1 {  execsql {    SELECT a, (SELECT b) FROM t1 GROUP BY a;  }} {1 2}do_test subquery-3.3.2 {  catchsql {DROP TABLE t2}  execsql {    CREATE TABLE t2(c, d);    INSERT INTO t2 VALUES(1, 'one');    INSERT INTO t2 VALUES(2, 'two');    SELECT a, (SELECT d FROM t2 WHERE a=c) FROM t1 GROUP BY a;  }} {1 one}do_test subquery-3.3.3 {  execsql {    INSERT INTO t1 VALUES(2, 4);    SELECT max(a), (SELECT d FROM t2 WHERE a=c) FROM t1;  }} {2 two}do_test subquery-3.3.4 {  execsql {    SELECT a, (SELECT (SELECT d FROM t2 WHERE a=c)) FROM t1 GROUP BY a;  }} {1 one 2 two}do_test subquery-3.3.5 {  execsql {    SELECT a, (SELECT count(*) FROM t2 WHERE a=c) FROM t1;  }} {1 1 2 1}#------------------------------------------------------------------# These tests - subquery-4.* - use the TCL statement cache to try # and expose bugs to do with re-using statements that have been # passed to sqlite3_reset().## One problem was that VDBE memory cells were not being initialised# to NULL on the second and subsequent executions.#do_test subquery-4.1.1 {  execsql {    SELECT (SELECT a FROM t1);  }} {1}do_test subquery-4.2 {  execsql {    DELETE FROM t1;    SELECT (SELECT a FROM t1);  }} {{}}do_test subquery-4.2.1 {  execsql {    CREATE TABLE t3(a PRIMARY KEY);    INSERT INTO t3 VALUES(10);  }  execsql {INSERT INTO t3 VALUES((SELECT max(a) FROM t3)+1)}} {}do_test subquery-4.2.2 {  execsql {INSERT INTO t3 VALUES((SELECT max(a) FROM t3)+1)}} {}#------------------------------------------------------------------# The subquery-5.* tests make sure string literals in double-quotes# are handled efficiently.  Double-quote literals are first checked# to see if they match any column names.  If there is not column name# match then those literals are used a string constants.  When a# double-quoted string appears, we want to make sure that the search# for a matching column name did not cause an otherwise static subquery# to become a dynamic (correlated) subquery.#do_test subquery-5.1 {  proc callcntproc {n} {    incr ::callcnt    return $n  }  set callcnt 0  db function callcnt callcntproc  execsql {    CREATE TABLE t4(x,y);    INSERT INTO t4 VALUES('one',1);    INSERT INTO t4 VALUES('two',2);    INSERT INTO t4 VALUES('three',3);    INSERT INTO t4 VALUES('four',4);    CREATE TABLE t5(a,b);    INSERT INTO t5 VALUES(1,11);    INSERT INTO t5 VALUES(2,22);    INSERT INTO t5 VALUES(3,33);    INSERT INTO t5 VALUES(4,44);    SELECT b FROM t5 WHERE a IN        (SELECT callcnt(y)+0 FROM t4 WHERE x="two")  }} {22}do_test subquery-5.2 {  # This is the key test.  The subquery should have only run once.  If  # The double-quoted identifier "two" were causing the subquery to be  # processed as a correlated subquery, then it would have run 4 times.  set callcnt} {1}# Ticket #1380.  Make sure correlated subqueries on an IN clause work# correctly when the left-hand side of the IN operator is constant.#do_test subquery-6.1 {  set callcnt 0  execsql {    SELECT x FROM t4 WHERE 1 IN (SELECT callcnt(count(*)) FROM t5 WHERE a=y)  }} {one two three four}do_test subquery-6.2 {  set callcnt} {4}do_test subquery-6.3 {  set callcnt 0  execsql {    SELECT x FROM t4 WHERE 1 IN (SELECT callcnt(count(*)) FROM t5 WHERE a=1)  }} {one two three four}do_test subquery-6.4 {  set callcnt} {1}finish_test

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一区久久久久| 在线精品视频一区二区| 色婷婷综合在线| 26uuu欧美| 日日夜夜精品免费视频| 一区二区三区四区高清精品免费观看 | 欧美精品久久一区| 国产精品久久夜| 国产69精品久久久久毛片| 国产不卡免费视频| 精品国产伦一区二区三区观看方式| 午夜不卡av在线| 欧美综合欧美视频| 成人欧美一区二区三区视频网页| 国产精品一区二区免费不卡 | 国产精品综合二区| 丁香另类激情小说| 日韩精品一区二区三区老鸭窝| 亚洲精品乱码久久久久久黑人| 精品一区二区三区欧美| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 久久99精品一区二区三区| 91精品国产综合久久久久| 午夜精品福利在线| 国产在线观看免费一区| 日韩精品中文字幕在线一区| 青娱乐精品在线视频| 欧美一区二区三区四区久久| 视频一区二区欧美| 欧美成人三级电影在线| 久久 天天综合| 色哟哟日韩精品| 亚洲精品中文在线影院| 色综合久久久网| 亚洲成a人片在线不卡一二三区| av电影天堂一区二区在线观看| 国产精品久久久久影院亚瑟| 亚洲久草在线视频| 欧美日韩免费视频| 日韩国产精品久久久久久亚洲| 91精品国产一区二区三区| 青青草一区二区三区| 精品免费国产二区三区| 国产在线视频一区二区三区| 国产拍欧美日韩视频二区| 777亚洲妇女| 中文字幕在线一区| 91官网在线免费观看| 天天综合色天天| 久久久久久久av麻豆果冻| 日韩电影在线观看电影| 久久亚洲私人国产精品va媚药| jlzzjlzz亚洲日本少妇| 国产农村妇女精品| 欧美日韩视频在线一区二区| 中文字幕一区二区三区四区| 在线观看91精品国产入口| 天天综合色天天| 欧美国产精品中文字幕| 欧美色窝79yyyycom| 国产在线精品一区二区三区不卡| 中文字幕一区av| 欧美一区二区黄| 不卡欧美aaaaa| 日韩影视精彩在线| 精品久久久久久最新网址| 色综合久久久久久久久久久| 天天综合天天综合色| 中文字幕精品在线不卡| 91麻豆精品国产91久久久久久久久| 一区二区久久久久久| 欧美日韩精品福利| 日日夜夜免费精品视频| 亚洲h动漫在线| 亚洲第一精品在线| 日韩av一区二区在线影视| 亚洲国产精品一区二区久久| 亚洲一区二区偷拍精品| 亚洲综合偷拍欧美一区色| 美女在线观看视频一区二区| 日本亚洲欧美天堂免费| 日韩高清一级片| 麻豆久久久久久久| 激情国产一区二区| 国产成人av一区二区三区在线 | 一区二区高清视频在线观看| 一区二区三区四区高清精品免费观看| 亚洲女同女同女同女同女同69| 亚洲欧美激情一区二区| 亚洲电影一级片| 美腿丝袜亚洲一区| 国产成人在线网站| 97se亚洲国产综合自在线不卡| 91丨porny丨首页| 欧美亚洲国产一区二区三区va| 欧美人xxxx| 26uuu另类欧美| 国产精品传媒在线| 午夜精品久久久久久久99水蜜桃| 蜜桃一区二区三区在线观看| 国产成人8x视频一区二区| av在线不卡免费看| 欧美日韩国产综合一区二区三区| 日韩一区二区三区电影| 中文字幕免费在线观看视频一区| 亚洲视频一区二区在线观看| 亚洲成av人片一区二区三区| 美国三级日本三级久久99| 成人午夜大片免费观看| 欧洲色大大久久| 欧美精品一区二区精品网| 国产精品成人午夜| 日韩**一区毛片| 成人免费毛片app| 欧美精品视频www在线观看| 国产午夜一区二区三区| 亚洲一区在线观看视频| 国产激情精品久久久第一区二区| 在线视频综合导航| 国产亚洲一二三区| 午夜亚洲国产au精品一区二区| 国产精品自拍一区| 欧美色综合天天久久综合精品| 久久视频一区二区| 亚洲成va人在线观看| 成人深夜视频在线观看| 日韩一级精品视频在线观看| 日韩理论片中文av| 国产露脸91国语对白| 欧美电影在哪看比较好| 成人免费视频在线观看| 激情六月婷婷综合| 欧美一级精品在线| 一二三四区精品视频| 不卡一区二区中文字幕| 国产精品久久久久影院色老大| 免费欧美在线视频| 色网综合在线观看| 中国av一区二区三区| 久久99国产精品尤物| 欧美伦理视频网站| 亚洲天堂2016| 成人黄色片在线观看| 精品欧美一区二区在线观看| 亚洲成a人v欧美综合天堂| 97se亚洲国产综合自在线观| 国产欧美日韩在线| 久久er精品视频| 337p亚洲精品色噜噜| 一区二区久久久| 欧美在线你懂得| 一个色综合av| 欧洲国内综合视频| 一区二区激情小说| 欧美伊人久久久久久久久影院| 亚洲三级小视频| 91香蕉视频mp4| 亚洲欧洲精品成人久久奇米网| 国产 欧美在线| 国产精品色眯眯| 成人免费的视频| 久久久久久亚洲综合影院红桃| 看国产成人h片视频| 欧美电影免费观看完整版| 麻豆成人91精品二区三区| 日韩午夜中文字幕| 日本在线不卡视频一二三区| 91精品国产色综合久久ai换脸| 天天av天天翘天天综合网色鬼国产 | 欧美性猛交xxxx乱大交退制版| 亚洲品质自拍视频| 91啪在线观看| 亚洲自拍偷拍av| 91在线观看美女| 亚洲一区二区精品视频| 99久久免费精品高清特色大片| 伊人夜夜躁av伊人久久| 欧洲视频一区二区| 亚洲国产精品久久人人爱蜜臀| 日本道精品一区二区三区| 亚洲免费在线看| 日本韩国欧美一区二区三区| 国产网站一区二区三区| 成人美女视频在线看| 亚洲三级小视频| 欧美群妇大交群的观看方式| 久久99国产乱子伦精品免费| 欧美高清在线一区二区| 一本大道久久精品懂色aⅴ| 亚洲尤物视频在线| 精品久久久久久久人人人人传媒 | 成人网在线播放| 一区二区三区不卡视频| 在线播放国产精品二区一二区四区 | 亚洲视频在线观看一区| 欧美性猛交xxxxxx富婆| 老司机精品视频一区二区三区| 国产精品素人一区二区| 欧美人与禽zozo性伦| 国产露脸91国语对白|