当前位置:首页 » 编程语言 » sql子查询

sql子查询

发布时间: 2022-01-14 20:39:55

sql子查询统计

select
count(distinct(b.visit_id))'visit_id次数',

count(case when typeid=14 then 1 else 0)'14出现次数',
count(case when typeid=65 then 1 else 0)'65出现次数' from a
inner join b on a.visit_id=b.visitId

Ⅱ 求SQL子查询语句

不用子查询就能出结果啊
select a.userid,a.name,sum(money) as money from a, b where a.userid=b.userid and freeze='true' group by a.userid,a.name
------------------
排序就在语句后加
order by a.userid asc

你查不到结果?
这个a.DeptID=1 是什么?不会是写错了吧
如果这个代表freeze的话。。。。一定要放到表b内!

==========================
Select a.UserID, a.Name, Sum(b.Money) As Money
From a, b
Where a.DeptID=1 And b.UserID=a.UserID And b.freeze='true'
Group By a.UserID, a.Name
order by a.userid asc

Ⅲ sql子查询

额,哥们,首先,你的表有没有主外键关系?其次,户表与人表中有一些什么字段,你得说清楚。
建表如下:
户口表(h) 人表(p)
nub 户号 pid 身份证号
address 住址 name 姓名
state 说明状态 relationship 家庭关系
nub 户号
introction 说明
state 状态
查询姓名、身份证号、家庭关系、户主、住址。
select p.name,p.pid,p.relationship,nvl((select p1.name from p p1 where p1.relationship like "是户主"),null) huzhuName,h.address
from p,h
where h.nub=p.nub;

nvl(old,new)如果有old值,返回old;否则返回new
上面那条子查询语句
select p1.name from p p1 where p1.relationship like "是户主"
是先查出关系是户主的人的名字,条件具体情况自己定(——)。

Ⅳ SQL子查询

select 用户名 ,所处大区, 所处省区,
sum(onty_cnt) as onty_cnt,sum(offty_cnt) as offty_cnt,
sum(overtime) as overtime
from
(select 用户名 ,所处大区, 所处省区, onty_time ,offty_time, 打卡日期,overtime,
case when to_char(onty_time,'hh24:mi') > '09:00' then 1 else 0 end as onty_cnt,
case when to_char(offty_time,'hh24:mi') < '17:20' then 1 else 0 end as offty_cnt
where 省区 = 参数
and 打卡日期 between '2009-01-01' and '2009-01-31' )
group by 用户名 ,所处大区, 所处省区

-------------------------------------
这是按人统计, 如果不要每个人的, 只要全部, 那就:

select 所处大区, 所处省区,
sum(onty_cnt) as onty_cnt,sum(offty_cnt) as offty_cnt,
sum(overtime) as overtime
from
(select 用户名 ,所处大区, 所处省区, onty_time ,offty_time, 打卡日期,overtime,
case when to_char(onty_time,'hh24:mi') > '09:00' then 1 else 0 end as onty_cnt,
case when to_char(offty_time,'hh24:mi') < '17:20' then 1 else 0 end as offty_cnt
where 省区 = 参数
and 打卡日期 between '2009-01-01' and '2009-01-31' )
group by 所处大区, 所处省区

-----------------------------
就是从外面的查询中把用户名去掉!
不明白HI我

Ⅳ sql子查询!

select psnID,psnName,(select SUM(plan_UITime) from WorkPlan w where w.Plan_addPsnIDs=psnID)+
((select SUM(plan_CoderTime) from WorkPlan w where w.Plan_addPsnIDs=psnID)+
(select SUM(plan_TestTime) from WorkPlan w where w.Plan_addPsnIDs=psnID))
from Person
where psnID in(select psnID from ClientFeedbackContent where ClientFeedback_Admin='true')

Ⅵ SQL子查询什么时候用

嵌套SELECT语句也叫子查询,一个 SELECT 语句的查询结果能够作为另一个语句的输入值。子查询不但能够出现在Where子句中,也能够出现在from子句中,作为一个临时表使用,也能够出现在select list中,作为一个字段值来返回。
1、单行子查询 :单行子查询是指子查询的返回结果只有一行数据。当主查询语句的条件语句中引用子查询结果时可用单行比较符号(=, >, <, >=, <=, <>)来进行比较。
例:
select ename,deptno,sal
from emp
where deptno=(select deptno from dept where loc='NEW YORK');

2、多行子查询:多行子查询即是子查询的返回结果是多行数据。当主查询语句的条件语句中引用子查询结果时必须用多行比较符号(IN,ALL,ANY)来进行比较。其中,IN的含义是匹配子查询结果中的任一个值即可("IN"
操作符,能够测试某个值是否在一个列表中),ALL则必须要符合子查询的所有值才可,ANY要符合子查询结果的任何一个值即可。而且须注意ALL
和ANY 操作符不能单独使用,而只能与单行比较符(=、>、< 、>= 、<= 、<>)结合使用。
例:
1).多行子查询使用IN操作符号例子:查询选修了老师名叫Rona(假设唯一)的学生名字
sql> select stName

Ⅶ 请教sql子查询

1.子查询是多表查询的一种形式。子查询就是次要查询,它返回的结果数据被用

于主查询的条件中。它返回的结果可以是一行或多行。比如:
例1//返回一条记录
select *
from emp
where deptno=(select deptno
from dept
where dept_name='SALES')
例2//返回多条记录
select *
from emp
where deptno in (select deptno
from dept
where dept_addr='北京')
由上例可以看出,子查询并不要求两个表有相关字段,只要得到子查询的结果集

就行,用于主查询,而连接查询,则必须要求两个表有相关字段。

2.连接查询是对两个表逐记录(一行一行地)进行相关查询,例1可写为连接查询

,例2不可以写为连接查询,因为子查询返回多行记录。
select *
from emp a, dept b
where a.deptno= b.deptno and b.dept_name='SALES'

上述形式为内连接,还有外连接

oracle中的字段后面有加号是什么意思,多说一点详细一点
a.emp_no = b.emp_no (+)

不论把(+)写在等号左边项还是右边项,统称为外连接

在内连接中,只返回那些在连接表中有匹配数据的数据行

外连接即在被连接的表中加入一个空行来与没有匹配行的数据进行匹配

比如查询员工所属的部门,总裁不属于任何部门,(老板不属于任何部门,dname

项是空的)

select e.emp_name ename,d.dept_name dname
from emp e, dept d
where e.dept_no=d.dept_no(+)

ename dname
——————————
sam SALES
tom ACCOUNTING
king

上述外连接请参看:
http://..com/question/44054333.html

3.递归查询可以用来表示相同实体内相互联系的各个数据集间的关系;外连接可以用来连接那些本来没有匹配数据的表;相关子查询显示如何在子查询中使用主查询中的数据来加强查询条件,就是带exists谓词的查询。

建议你看看萨师宣老师的《数据库原理》(高教出版社)

Ⅷ sql的相关子查询

确实不好理解,你们老师真厉害.
以下是我写的代码:
select * from s where sno in
(
select sno from sc a
join
(select cno from sc where sno='s2') b
on a.cno=b.cno
group by sno
having count(*)=(select count(*) from sc where sno='s2')
)
我的思路是这样的,如果学生s1选的课程包含学生s2选的所有课程,那么这两个学生的课程inner join之后,结果集的记录数应该等于s2的选课数.根据这个规则,就可以通过以下代码求出学号:
select sno from sc a
join
(select cno from sc where sno='s2') b
on a.cno=b.cno
group by sno
having count(*)=(select count(*) from sc where sno='s2')
学号出来了,对应的名字也就不难求了,如第一段代码.

Ⅸ sql where嵌套select子查询

sql where嵌套select子查询
判定A表的数据是否存在B表,如果存在则显示存在,不存在则显示不存在
例如S#存在于SC表和student表中,判定s#是否都在student表中存在存在则显示存在,不存在则显示不存在,具体如下:
from student

select s#,
case when s# in(select s# from sc) then '存在'
when s# not in( select s# from sc) then '不存在'
end
from student

热点内容
单片机android 发布:2024-09-20 09:07:24 浏览:764
如何提高三星a7安卓版本 发布:2024-09-20 08:42:35 浏览:663
如何更换服务器网站 发布:2024-09-20 08:42:34 浏览:310
子弹算法 发布:2024-09-20 08:41:55 浏览:288
手机版网易我的世界服务器推荐 发布:2024-09-20 08:41:52 浏览:816
安卓x7怎么边打游戏边看视频 发布:2024-09-20 08:41:52 浏览:161
sql数据库安全 发布:2024-09-20 08:31:32 浏览:93
苹果连接id服务器出错是怎么回事 发布:2024-09-20 08:01:07 浏览:506
编程键是什么 发布:2024-09-20 07:52:47 浏览:657
学考密码重置要求的证件是什么 发布:2024-09-20 07:19:46 浏览:480