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

sql无关子查询

发布时间: 2022-07-14 17:36:45

A. sql 两张无关系表的查询语句 求大神指点

select classname from 班级表 where id1 in(select id1 from 关系表 where id2 in(select id2 from 学生表 where personname='张三' or personname='李四'))

B. 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我

C. Sql server中, 什么是子查询.!

子查询是指将一条SQL Sever语句嵌入到另一条SQL Sever语句中。数据库引擎将子查询做为虚表执行查询操作。子查询可做为连接语句中的一个表,可做为选择语句中的一个值,也可以是SQL Sever查询子句,还可以是SQL Sever查询子句的字句,与数据操作语句混合在一起。 子查询的执行依赖于嵌套查询。查询树从最里层开始,一层一层向外执行。高层的嵌套查询可以访问低层嵌套查询的结果。
有两种子查询类型:标准和相关。标准子查询执行一次,结果反馈给父查询。相关子查询每行执行一次,由父查询找回。

举一个简单的例子:要找出“工程部”中工资超过该部门平均工资的员工的员工编号和姓名:

Select 员工编号,姓名
FROM 员工库
Where WORKDEPT = '工程部'
AND SALARY > (Select AVG(工资)
FROM 员工库
Where WORKDEPT = '工程部')

看懂没有?

D. 在SQL Server中为什么不建议使用Not In子查询

子查询可以分为相关子查询和无关子查询,对于无关子查询来说,Not In子句比较常见,但Not In潜在会带来下面两种问题:

①结果不准确。

②查询性能低下。


Not In子句如果来自于某个表或者列表很长,其中大量值中即使存在一个Null值,也会导致最终结果不会返回任何数据。

E. 谁能告诉我SQL语言中怎么不用相关子查询来实现除法

我理解你的问题是 查询出来的结果再做除法,出错吧
只要是除数是个不固定的值,查询出来的值的时候你都要判断查询出来这个数是不是0,如果是零就不要计算了,(这个问题小学生都知道吧),如果不为0的时候在去计算
例如 (case sum(销售额)=0 then 0 else sum(毛利)/sum(销售额) end) as 毛利率

F. 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 "是户主"
是先查出关系是户主的人的名字,条件具体情况自己定(——)。

G. SQL数据库中除法用什么来实现

select 一个结果/另一个结果 from table_name

你上边写的那个*难道是多列除多列?

那好像不行吧,被除数别=0哈,要不报错

H. SQL语句,不要用子查询

假设数据表的名称为订单表。

SELECT 单价
FROM 订单表o1
GROUPBY 品号
HAVING 日期=(
SELECT MAX(日期)
FROM 订单表o2
WHERE o1.品号=o2.品号)

I. sql语句---子查询问题

在count_daily表查询结果上手动创建一个值为1的列,然后让没有关系的两个表建立连接,然后就简单了
SELECT name,count,1 as ids FROM count_daily a, briefing b WHERE a.ids = b.id and a.date BETWEEN b.start_date and b.end_date ORDER BY a.date ASC

J. 关于sql子查询的问题

别什么左右关联了,那么麻烦

selectt.company,sum(t.期初人数1),sum(t.期初人数2)from
(selectcompany,期初人数期初人数1,0期初人数2fromaa
unionall
selectcompany,0期初人数1,期初人数期初人数2frombb)t
groupbyt.company