当前位置:首页 » 编程语言 » 同时查询多个结果sql
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

同时查询多个结果sql

发布时间: 2023-08-03 02:42:23

sql查询语句,同一个条件,返回多个结果

  • 如果是Oracle的话,用Decode函数比较简洁

--type作为查询条件进行查询
selectsum(decode(type,'project',money,'nonproject',money+tax))
fromcontract
wheretype='type值';

--不传值,直接汇总
selectsum(decode(type,'project',money,0))asproject_sum,
sum(decode(type,'nonproject',money+tax,0))asnonproject_sum
fromcontract

② sql 将多个查询结果一起输出

把查询结果当成表
select
a.counts,b.counts,c.counts,a.counts+b.counts+c.counts
from
(select
count(*)
as
counts
from
table.a
inner
join
table.y
on
table.a.aid
=
table.y.yid)
a,
(select
count(*)
as
counts
from
table.b
inner
join
table.y
on
table.a.bid
=
table.y.yid)
b,
(select
count(*)
as
counts
from
table.c
inner
join
table.y
on
table.a.cid
=
table.y.yid)
c

③ sql多对多关系的两表如何联合查询出所有的结果

1、语句如下:

Select project.*, [contract].* from project

Left join contract_project on project.projectId = contract_project.projectId

Left join [contract] on contract_project.contractId = [contract].contractId

注:contract在Sql server中是关键字,因此使用了中括号。

2、使用Left join

Left join是御旦以左表为准的。换句话说,左表(project)的记录将会全部表示出来,而右表(contract_project)只会显示符合搜索条件的记录

(例子中为: project.projectId = contract_project.projectId)。对于contract表来说,contract_project表是它的左表。

此例以两个left join 将三个表按条件联接在一起。

(3)同时查询多个结果sql扩展阅读

连接通常可以在select语句的from子句或where子句中建立,其语法格式为:

selectcolunm_name1,colunm_name2

fromtable_name1

leftjointable_name2

ontable_name1.colunmname=table_name2.colunmname

其中join_table指出参与连接操作的表名,连接可以对同一个表操作,也可以对多表操作,对同一个表操作的连接称为自连接, join_type 为连接类型,可以是left join 或者孝拆槐right join 或者inner join 。

on (join_condition)用来指连接条件,它由被连接表中的列和比较运算符、逻辑运算符等巧友构成。

④ SQL怎样同时查询多个学生多个科目的成绩

这个用到行转列

SELECT
`姓名编号`, MAX( CASE
WHEN course='项目1' THEN
"内容" END
) AS '项目1', MAX( CASE
WHEN course='项目2' THEN
"内容" END
) AS '项目2',
MAX( CASE
WHEN course='项目3' THEN
"内容" END
) AS '项目3' FROM
studentGROUP BY `姓名编号`

你可以参考下网站:网页链接

⑤ sql如何同时查询多个数据并修改

既然你已经弄到excel里了,直接用 in ('xxx','xxx',...,'xxx') 就好,如果太多了就分几个语句去执行
update VIPCard set cFromBraCode='002' where cVIPCode in ('xxx',...,'xxx');
把对应的数据拷到你常用的文本编辑器里,然后把 回车 字符替换为 ','
或者在excel里前面加一列全 单引号,后面加一列全 单引号加逗号,然后一起拷出去后把 tab字符 替换掉
再或者你在excel里用公式挨个往下把 对应数据加上单引号分隔连起来也行

⑥ sql语句查询,并统计查询结果数量

统计人数的话是不能看出成绩大于90的学生的信息的
如果你要看成绩大于90的学生的信息,就不能统计人数

select id,name,age,count(score)
from sd_student_t
where score > 90
group by id,name,age
这个也是统计并且查看详细信息,但是跟你要求的不一样,这个是按id,name,age来分组的,所以统计的知识同id,name,age里面成绩大于90的人数

⑦ SQL中多条件同时查询语句怎么写

1、首先我们打开电脑里的SQL打开一个数据库