请帮忙写一个超级简单的查询语句表A列1 列2
苹果 1
梨子 1
菠萝 1
青菜 2
萝卜 2
表B列1 列2
1 水果
2 蔬菜用查询语句查询表A和表B生成下面这个表列1 列2
苹果 水果
梨子 水果
菠萝 水果
青菜 蔬菜
萝卜 蔬菜
苹果 1
梨子 1
菠萝 1
青菜 2
萝卜 2
表B列1 列2
1 水果
2 蔬菜用查询语句查询表A和表B生成下面这个表列1 列2
苹果 水果
梨子 水果
菠萝 水果
青菜 蔬菜
萝卜 蔬菜
a.列1,b.列2
from
a
left join b on
a.列2=b.列1
select 列1 as 列1,(case 列2 when 1 then '水果' else '蔬菜'end)as 列2
from A
insert into a values('苹果' , 1 )
insert into a values('梨子' , 1 )
insert into a values('菠萝' , 1 )
insert into a values('青菜' , 2 )
insert into a values('萝卜' , 2 )
create table B(列1 int, 列2 varchar(10))
insert into b values(1 , '水果')
insert into b values(2 , '蔬菜')
goselect a.列1 , b.列2 from a , b where a.列2 = b.列1drop table a , b/*
列1 列2
---------- ----------
苹果 水果
梨子 水果
菠萝 水果
青菜 蔬菜
萝卜 蔬菜(所影响的行数为 5 行)
*/
苹果 1
梨子 1
菠萝 1
青菜 2
萝卜 2 表B列1 列2
苹果 a公司
梨子 b公司
菠萝 c公司
青菜 d公司
萝卜 e公司
表C列1 列2
1 水果
2 蔬菜 用查询语句查询表A和表B、表c生成下面这个表 列1 列2 列3
苹果 水果 a公司
梨子 水果 b公司
菠萝 水果 c公司
青菜 蔬菜 d公司
萝卜 蔬菜 e公司
-- Author: T.O.P
-- Create date: 20091129
-- Version: SQL SERVER 2000
-- =============================================
declare @TB1 table([列1] varchar(4),[列2] int)
insert @TB1
select '苹果',1 union all
select '梨子',1 union all
select '菠萝',1 union all
select '青菜',2 union all
select '萝卜',2declare @TB2 table([列1] int,[列2] varchar(4))
insert @TB2
select 1,'水果' union all
select 2,'蔬菜'SELECT A.列1, B.列2
FROM @TB1 A INNER JOIN @TB2 B ON A.列2 = B.列1
--测试结果:
/*
列1 列2
---- ----
苹果 水果
梨子 水果
菠萝 水果
青菜 蔬菜
萝卜 蔬菜*/
-- =============================================
-- Author: T.O.P
-- Create date: 20091129
-- Version: SQL SERVER 2000
-- =============================================
declare @TB1 table([列1] varchar(4),[列2] int)
insert @TB1
select '苹果',1 union all
select '梨子',1 union all
select '菠萝',1 union all
select '青菜',2 union all
select '萝卜',2declare @TB2 table([列1] int,[列2] varchar(4))
insert @TB2
select 1,'水果' union all
select 2,'蔬菜'declare @TB3 table([列1] varchar(4),[列2] varchar(5))
insert @TB3
select '苹果','a公司' union all
select '梨子','b公司' union all
select '菠萝','c公司' union all
select '青菜','d公司' union all
select '萝卜','e公司'SELECT A.列1, B.列2, C.列2
FROM @TB1 A INNER JOIN @TB2 B ON A.列2 = B.列1
INNER JOIN @TB3 C ON A.列1 = C.列1
--测试结果:
/*
列1 列2 列2
---- ---- -----
苹果 水果 a公司
梨子 水果 b公司
菠萝 水果 c公司
青菜 蔬菜 d公司
萝卜 蔬菜 e公司(所影响的行数为 5 行)
*/
insert @a
select '苹果','1' union all
select '梨子','1'union all
select '菠萝','1 'union all
select '青菜','2' union all
select '萝卜','2'declare @b table([列1] VARCHAR(1),[列2] varchar(4))
insert @b
select '1','水果' union all
select '2','蔬菜'declare @c table([列1] varchar(4),[列2] varchar(5))
insert @c
select '苹果','a公司' union all
select '梨子','b公司' union all
select '菠萝','c公司' union all
select '青菜','d公司' union all
select '萝卜','e公司'
SELECT b.[列1],c.[列1],b.[列2]
FROM @a a
INNER JOIN @c c
ON a.列1 = c.列1
INNER JOIN @b B
ON A.列2 = B.列1
a.列1,b.列2
from
a
inner join b on
a.列2=b.列1
select a.'列1' ,b.'列2' from A a , B b where a.'列2' = b.'列1'
2问:
select a.'列1',b.'列2',c.'列2' from A a
left join B b on a.'列1' = b.'列1'
left join C c on a.'列2' = c.'列1'