如何让多个不同的SQL语句一起执行?

我要做统计,男多少人,女多少人,1岁的多少人,2岁的多少人,等等查询多个条件,这么多条SQL,每个都写个方法,去调的话,会很慢,有没有一种办法,执行一个方法,就把这些SQ... 我要做统计,
男多少人,女多少人,1岁的多少人,2岁的多少人,等等查询多个条件,这么多条SQL,每个都写个方法,去调的话,会很慢,有没有一种办法,执行一个方法,就把这些SQL都执行了呀???
展开
 我来答
lol_ko
推荐于2016-04-02 · 超过32用户采纳过TA的回答
知道答主
回答量:91
采纳率:0%
帮助的人:63.1万
展开全部
用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
Myu_Alberta
推荐于2018-05-10
知道答主
回答量:33
采纳率:0%
帮助的人:0
展开全部
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8cb420e
2010-09-25 · 超过27用户采纳过TA的回答
知道答主
回答量:90
采纳率:0%
帮助的人:76.2万
展开全部
用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
.....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lymlove317
2010-09-25 · TA获得超过178个赞
知道答主
回答量:239
采纳率:100%
帮助的人:63.1万
展开全部
用存储过程啊!写一个通用的,哪个参数不为空,传入相应的参数进去。直接用Sql 语句也行啊!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式