① 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打开一个数据库。