如何让多个不同的SQL语句一起执行?
我要做统计,男多少人,女多少人,1岁的多少人,2岁的多少人,等等查询多个条件,这么多条SQL,每个都写个方法,去调的话,会很慢,有没有一种办法,执行一个方法,就把这些SQ...
我要做统计,
男多少人,女多少人,1岁的多少人,2岁的多少人,等等查询多个条件,这么多条SQL,每个都写个方法,去调的话,会很慢,有没有一种办法,执行一个方法,就把这些SQL都执行了呀??? 展开
男多少人,女多少人,1岁的多少人,2岁的多少人,等等查询多个条件,这么多条SQL,每个都写个方法,去调的话,会很慢,有没有一种办法,执行一个方法,就把这些SQL都执行了呀??? 展开
4个回答
展开全部
用union
使用 UNION 运算符组合多个结果
UNION 运算符使您得以将两个或多个 SELECT 语句的结果组合成一个结果集。使用 UNION 组合的结果集都必须具有相同的结构。而且它们的列数必须相同,并且相应的结果集列的数据类型必须兼容。有关更多信息,请参见 UNION 运算符使用指南。
UNION 的指定方式如下:
select_statement UNION [ALL] select_statement
例如,Table1 和 Table2 具有相同的两列结构。
Table1 Table2
ColumnA ColumnB ColumnC ColumnD
char(4) int char(4) int
------- --- ------- ---
abc 1 ghi 3
def 2 jkl 4
ghi 3 mno 5
下面的查询在这两个表之间创建 UNION 运算:
SELECT * FROM Table1
UNION
SELECT * FROM Table2
下面是结果集:
ColumnA ColumnB
------- --------
abc 1
def 2
ghi 3
jkl 4
mno 5
使用 UNION 运算符组合多个结果
UNION 运算符使您得以将两个或多个 SELECT 语句的结果组合成一个结果集。使用 UNION 组合的结果集都必须具有相同的结构。而且它们的列数必须相同,并且相应的结果集列的数据类型必须兼容。有关更多信息,请参见 UNION 运算符使用指南。
UNION 的指定方式如下:
select_statement UNION [ALL] select_statement
例如,Table1 和 Table2 具有相同的两列结构。
Table1 Table2
ColumnA ColumnB ColumnC ColumnD
char(4) int char(4) int
------- --- ------- ---
abc 1 ghi 3
def 2 jkl 4
ghi 3 mno 5
下面的查询在这两个表之间创建 UNION 运算:
SELECT * FROM Table1
UNION
SELECT * FROM Table2
下面是结果集:
ColumnA ColumnB
------- --------
abc 1
def 2
ghi 3
jkl 4
mno 5
展开全部
union和union all 的区别
Union和Union all 的区别 在数据库中,union和union all关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。 union在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。如:select * from test_union1 unionselect * from test_union2 这个SQL在运行时先取出两个表的结果,再用排序空间进行排序删除重复的记录,最后返回结果集,如果表数据量大的话可能会导致用磁盘进行排序。 而union all只是简单的将两个结果合并后就返回。这样,如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了。 从效率上说,union all要比union快很多,所以,如果可以确认合并的两个结果集中不包含重复的数据的话,那么就使用union all
Union和Union all 的区别 在数据库中,union和union all关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。 union在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。如:select * from test_union1 unionselect * from test_union2 这个SQL在运行时先取出两个表的结果,再用排序空间进行排序删除重复的记录,最后返回结果集,如果表数据量大的话可能会导致用磁盘进行排序。 而union all只是简单的将两个结果合并后就返回。这样,如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了。 从效率上说,union all要比union快很多,所以,如果可以确认合并的两个结果集中不包含重复的数据的话,那么就使用union all
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用union all啊
select ‘男',count(1) from person where sex='男'
union all
select ‘女',count(1) from person where sex='女'
union all
select ‘1岁',count(1) from person where age=1
.....
select ‘男',count(1) from person where sex='男'
union all
select ‘女',count(1) from person where sex='女'
union all
select ‘1岁',count(1) from person where age=1
.....
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用存储过程啊!写一个通用的,哪个参数不为空,传入相应的参数进去。直接用Sql 语句也行啊!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询