怎样一条SQL来查询,一个数据库中(含有多个表)所有符合条件的记录

时间:2021-01-26 07:33:23
怎样一条SQL来查询,一个数据库中(含有多个表)所有符合条件的记录

10 个解决方案

#1


用连接呀!
如:

declare @a table(a int,b int)
declare @b table(a int,b int)
insert @a values(1,1)
insert @a values(2,2)
insert @b values(1,1)
insert @b values(3,3)

--左:
select * from @a Aa left join @b Bb on Aa.a=Bb.a
--右:
select * from @a Aa right join @b Bb on Aa.a=Bb.a
--内
select * from @a Aa join @b Bb on Aa.a=Bb.a
--外
select * from @a Aa full join @b Bb on Aa.a=Bb.a
--完全
select * from @a,@b

#2


如果是纵向连接用union all如:

select 列1,列2 from 表1 where 条件
union all
select 列1,列2 from 表2 where 条件

#3


能不能具体点?比如有一个学生数据库,中有四个表,(一年级,二年级,三年级,四年级)
找出所有姓“李”的同学,怎样来写呢?
谢谢,解决后给200分,决不食言,我有3000多分啊

#4


select a.* from table1 a
where a.name like '李'
union all
select b.* from table2 b
where b.name like '李'
union all
select c.* from table3 c
where c.name like '李'
union all
select d.* from table4 d
where a.name like  '李'

#5


select sname 
from grade1 where sname like  '李%’
union
select sname
from grade2 where sname like  '李%’
以下同 

#6


union all
有什么作用?

#7


没错,纵向联接

#8


但是这样用union的话,只能得到结果,能不能把结果同时保存到一张表中(指的是
在sql的查询对话框实现,不是用编程把(ado))

#9


INSERT INTO 新表 (SELECT * FROM 旧表或者是一个查询的结果集)

前提是旧表与新表的字段要相同才行!

#10


union all的作用是联接所有查询到的结果。

将查询的所有结果联接起来。

#1


用连接呀!
如:

declare @a table(a int,b int)
declare @b table(a int,b int)
insert @a values(1,1)
insert @a values(2,2)
insert @b values(1,1)
insert @b values(3,3)

--左:
select * from @a Aa left join @b Bb on Aa.a=Bb.a
--右:
select * from @a Aa right join @b Bb on Aa.a=Bb.a
--内
select * from @a Aa join @b Bb on Aa.a=Bb.a
--外
select * from @a Aa full join @b Bb on Aa.a=Bb.a
--完全
select * from @a,@b

#2


如果是纵向连接用union all如:

select 列1,列2 from 表1 where 条件
union all
select 列1,列2 from 表2 where 条件

#3


能不能具体点?比如有一个学生数据库,中有四个表,(一年级,二年级,三年级,四年级)
找出所有姓“李”的同学,怎样来写呢?
谢谢,解决后给200分,决不食言,我有3000多分啊

#4


select a.* from table1 a
where a.name like '李'
union all
select b.* from table2 b
where b.name like '李'
union all
select c.* from table3 c
where c.name like '李'
union all
select d.* from table4 d
where a.name like  '李'

#5


select sname 
from grade1 where sname like  '李%’
union
select sname
from grade2 where sname like  '李%’
以下同 

#6


union all
有什么作用?

#7


没错,纵向联接

#8


但是这样用union的话,只能得到结果,能不能把结果同时保存到一张表中(指的是
在sql的查询对话框实现,不是用编程把(ado))

#9


INSERT INTO 新表 (SELECT * FROM 旧表或者是一个查询的结果集)

前提是旧表与新表的字段要相同才行!

#10


union all的作用是联接所有查询到的结果。

将查询的所有结果联接起来。