⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 innerjoin.sql

📁 derby database source code.good for you.
💻 SQL
字号:
-- test inner joins-- (NO NATURAL JOIN)autocommit off;-- create some tablescreate table t1(c1 int);create table t2(c1 int);create table t3(c1 int);create table insert_test(c1 int, c2 int, c3 int);-- populate the tablesinsert into t1 values 1, 2, 3, 4;insert into t2 values 1, 3, 5, 6;insert into t3 values 2, 3, 5, 7;-- negative tests-- no join clauseselect * from t1 join t2;select * from t1 inner join t2;-- empty column listselect * from t1 join t2 using ();-- non-boolean join clauseselect * from t1 join t2 on 1;-- duplicate exposed names, DB2 extension-- DB2 UDB: PASS-- DB2 CS:  FAILselect * from t1 join t1 on 1=1;-- duplicate exposed namesselect * from t1 join t1 on c1 = 1;select * from t1 join t1 on (c1);-- join clause only allowed to contain column references from tables being-- joined. DB2 doesn't allow references to correlated columnsselect * from t1, t2 join t3 on t1.c1 = t2.c1;-- should match db2's behavior by raising an errorselect * from t2 b inner join t3 c on a.c1 = b.c1 and b.c1 = c.c1;select * from t3 b where exists (select * from t1 a inner join t2 on b.c1 = t2.c1);select * from t3 where exists (select * from t1 inner join t2 on t3.c1 = t2.c1);-- positive testsselect a.c1 from t1 a join t2 b on a.c1 = b.c1;select a.x from t1 a (x) join t2 b (x) on a.x = b.x;-- ANSI "extension" - duplicate exposed names allowed when no column references-- this may go away if we can figure out how to detect this error and-- get bored enough to prioritize the fixget cursor c as 'select 1 from t1 join t1 on 1=1';next c;close c;-- parameters and join clauseprepare asdf as 'select * from t1 join t2 on ?=1 and t1.c1 = t2.c1';execute asdf using 'values 1';remove asdf;prepare asdf as 'select * from t1 join t2 on t1.c1 = t2.c1 and t1.c1 = ?';execute asdf using 'values 1';remove asdf;-- additional predicates outside of the join clauseselect * from t1 join t2 on t1.c1 = t2.c1 where t1.c1 = 1;select * from t1 join t2 on t1.c1 = 1 where t2.c1 = t1.c1;-- subquery in join clause, not allowed in DB2 compatibility modeselect * from t1 a join t2 b on a.c1 = b.c1 and a.c1 = (select c1 from t1 where a.c1 = t1.c1);select * from t1 a join t2 b on a.c1 = b.c1 and a.c1 in (select c1 from t1 where a.c1 = t1.c1);-- correlated columnsselect * from t1 awhere exists (select * from t1 inner join t2 on a.c1 = t2.c1);-- nested joinsselect * from t1 join t2 on t1.c1 = t2.c1 inner join t3 on t1.c1 = t3.c1;-- parensselect * from (t1 join t2 on t1.c1 = t2.c1) inner join t3 on t1.c1 = t3.c1;select * from t1 join (t2 inner join t3 on t2.c1 = t3.c1) on t1.c1 = t2.c1;-- [inner] joinsselect * from t1 a left outer join t2 b on a.c1 = b.c1 inner join t3 c on b.c1 = c.c1;select * from (t1 a left outer join t2 b on a.c1 = b.c1) inner join t3 c on b.c1 = c.c1;select * from t1 a join t2 b on a.c1 = b.c1 inner join t3 c on c.c1 = a.c1 where c.c1 > 2 and a.c1 > 2;select * from (t1 a join t2 b on a.c1 = b.c1) inner join t3 c on c.c1 = a.c1 where c.c1 > 2 and a.c1 > 2;select * from t1 a join (t2 b inner join t3 c on c.c1 = b.c1) on a.c1 = b.c1 where c.c1 > 2 and b.c1 > 2;-- test insert/update/deleteinsert into insert_testselect * from t1 a join t2 b on a.c1 = b.c1 inner join t3 c on a.c1 <> c.c1;select * from insert_test;update insert_testset c1 = (select 9 from t1 a join t1 b on a.c1 = b.c1 where a.c1 = 1)where c1 = 1;select * from insert_test;delete from insert_testwhere c1 = (select 9 from t1 a join t1 b on a.c1 = b.c1 where a.c1 = 1);select * from insert_test;-- multicolumn joinselect * from insert_test a join insert_test b on a.c1 = b.c1 and a.c2 = b.c2 and a.c3 = b.c3;-- continue with insert testsdelete from insert_test;insert into insert_testselect * from (select * from t1 a join t2 b on a.c1 = b.c1 inner join t3 c on a.c1 <> c.c1) d (c1, c2, c3);select * from insert_test;delete from insert_test;-- reset autocomiitautocommit on;-- drop the tablesdrop table t1;drop table t2;drop table t3;drop table insert_test;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -