求大神指点以下SQL查询语句

作者&投稿:畅治 (若有异议请与网页底部的电邮联系)
求大神指点以下SQL查询语句~

1、这是sql中常用的“相关子查询”;
2、相关子查询的执行依赖于外部查询。多数情况下是子查询的WHERE子句中引用了外部查询的表。
执行过程:
(1)从外层查询中取出一个元组,将元组相关列的值传给内层查询。
(2)执行内层查询,得到子查询操作的值。
(3)外查询根据子查询返回的结果或结果集得到满足条件的行。
(4)然后外层查询取出下一个元组重复做步骤1-3,直到外层的元组全部处理完毕。
3、分析你的这个sql:
(1)从外层查询中取出一个元组,也就是'Afghanistan'这个国家,这时x指的就是该条数据;
(2)执行内层查询,
SELECT population FROM world y WHERE y.continent = x.continent AND population >0 AND y.name != x.name
这里的y这的是子查询中wold表里的数据;
这个子查询的意思是,把
除了'Afghanistan'这条数据,所有与'Afghanistan'
同一个州的且人口大于0的国家
筛选出来;
ALL(子查询结果)
表示将所有人口数相加;
(3) x.population
/
3
>=
ALL(子查询结果),意思是: 'Afghanistan'
这个国家的人口的三分之一大于等于其他同洲的国家人口之和;如果满足这个条件,x也就是'Afghanistan'这条数据将添加到结果集中;
(4)然后外层查询取出下一个元组重复做步骤1-3,直到外层的元组全部处理完毕。

1、insert into B(a) select a from A where a= '1'2、create view v_create_v select * from a create procedure p_ctrate_table as begin select * from A end3、(1)select count(*) from 职员表 group by 性别 (2)select case 分数 when >90 then '优' when >80 then '良' else '其他' end from 职员表(3) select * from 职员表 having count(distinct 职员姓名) >=2(4) select 职员性别,sum(case when 职员性别 = '0' then 1 else 0 end) '男',sum(case when 职员性别 = '1' then 1 else 0 end) '女' from 职员表 group by 职员性别 having count(职员性别) >=104、create trigger t_insertafter insert on ofor each row beginupdate A set b=b-3 where a=1;end

1、这是sql中常用的“相关子查询”;

2、相关子查询的执行依赖于外部查询。多数情况下是子查询的WHERE子句中引用了外部查询的表。 
执行过程: 

(1)从外层查询中取出一个元组,将元组相关列的值传给内层查询。

(2)执行内层查询,得到子查询操作的值。 

(3)外查询根据子查询返回的结果或结果集得到满足条件的行。 

(4)然后外层查询取出下一个元组重复做步骤1-3,直到外层的元组全部处理完毕。

3、分析你的这个sql:

(1)从外层查询中取出一个元组,也就是'Afghanistan'这个国家,这时x指的就是该条数据;

(2)执行内层查询,

SELECT population FROM world y WHERE y.continent = x.continent AND population >0 AND y.name != x.name

这里的y这的是子查询中wold表里的数据;

这个子查询的意思是,把 除了'Afghanistan'这条数据,所有与'Afghanistan' 同一个州的且人口大于0的国家  筛选出来;

ALL(子查询结果) 表示将所有人口数相加;

(3) x.population / 3 >= ALL(子查询结果),意思是: 'Afghanistan' 这个国家的人口的三分之一大于等于其他同洲的国家人口之和;如果满足这个条件,x也就是'Afghanistan'这条数据将添加到结果集中;

(4)然后外层查询取出下一个元组重复做步骤1-3,直到外层的元组全部处理完毕。




SQL大神指教。有点麻烦
这个不是很好说,需要调试一下的,建议你把@st内容插入到一个表,或直接print @st 然后把inserted名换成EB_Trade然后加一个条件where tid=???,你试着执行一下

求一个SQL查询语句,求大神指点。
select sum(case when [类型]=1 then [面积] else 0 end) [类型1面积], sum(case when [类型]=2 then [面积] else 0 end) [类型2面积], sum(case when [类型]=3 then [面积] else 0 end) [类型3面积]from [表A]

最近遇到一个sql,就是遇到麻烦了,求大神帮指点!!!
rowno小于T6.COUN是@rowno赋值@rowno+1,意思就是@rowno不能大于T6.COUN否则@rowno置零

...server执行语句回滚出错,请求各位sql大神指点一下,谢谢!
中途语句出错导致语句在出错处中止,后面的commit并未执行.在begin tran前添加 set xact_abort on 试试.另外,建议把ddl语句放到事务以外执行.

大神指点一下,怎么写 sql代码, 删除空白(NULL)行?
delete 表 where 代码=null

问个SQL查询,请大神指点!
select 原因,sum(case when 状态='正常' then 1 else 0 end) as 正常,sum(case when 状态='异常' then 1 else 0 end) as 异常from 表名group by 原因

sql语句中的group by的用法,求大神指点。
除了下面的语法,SQL Server 2012 支持 SQL-2006 标准中包括的所有 GROUP BY 功能:不允许在 GROUP BY 子句中使用分组集,除非它们是显式 GROUPING SETS 列表的一部分。例如,在标准中允许使用 GROUP BY Column1, (Column2, ...ColumnN),但在 SQL Server 中不允许使用。允许使用 GROUP BY C1, GROUPING SETS ...

sql这个该怎么写语句呢。。本人刚学sql 还希望大神指点
第一题 SELECT CONCAT(A.given_name, A.family_name) AS Musician, `Both Born On`, CONCAT(B.given_name, B.family_name) Musician FROM musician A, musician BWHERE A.birth_date = B.birth_date AND A.musician_id <> B.musician_idGROUP BY A.musician_id, A.birth_date ...

sql通过公司-部门-小组分别汇总人数,求大神指点
简单举个例子,其他自己填 原理就是A组的就记为1,不是的为0,然后汇总 select sum(case when dept_sid = ‘A小组’ then 1 else 0 end ) A组人数,...from ...where...group by...

...sql语句怎么写,求大神指点,Oracle数据库谢谢!
SELECT 姓名,年龄 FROM 表 GROUP BY 姓名,年龄 HAVING COUNT(1)>1 出来的结果应该是 小明 24 红红 24 不知道是不是你要的结果

波密县15255995907: 求高手指点SQL查询语句 -
钊黛龙骨: 先生成序号字段(根据时间字段的顺序),然后计算相临的差值select DateDiff(hh,t.时间字段,t1.时间字段) from (select rank() over (order by 时间字段) as 序号,时间字段 from table1) t,(s...

波密县15255995907: 谁可以给我全部的SQL查询语句? -
钊黛龙骨: 一、 简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句.它们分别说明所查询列、查询的 表或视图、以及搜索条件等.例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段. SELECT ...

波密县15255995907: 写出下列SQL语句 -
钊黛龙骨: 1.select 课程名, max(成绩) as 最高分into new_table from 成绩,课程where 成绩.课程号程号group by 成绩.课程号order by 课程名 desc 2.insert into 学生表 (学号char(8),姓名char(8),性别char(2),出生日期date,系名char(30)) values(''('062721161','王大宝',T,1987-01-01,'经济管理系')

波密县15255995907: 在SQL查询视图中编写下列语句,哪位大神会呀呀???? -
钊黛龙骨: 1、select avg(年龄) from 学生表 where 性别 = '男'2、select substring(姓名,0,2) first_name,substring(姓名,len(姓名)) second_name from 学生表3、select b.课程名,avg (a.成绩 )from 选课成绩表 as a, 课程表 as b where a.课程编号 = b.课程编号 group by b.课程名

波密县15255995907: 求大神写一条sql查询语句 -
钊黛龙骨: select 上次余额,充值金额,当前余额,姓名 ,时间,dbo.f_CheckData(用户ID,时间,上次余额) as flag from table name 假设针对用户有唯一ID create function f_CheckData(@用户ID,@时间,@上次余额) returns char(1) as begin ...

波密县15255995907: 如何写下述的SQL查询语句?非常感谢! -
钊黛龙骨: 这要运用sql的联结查询,使用select 字段名 from 表名 where 条件 (select 字段名(注意:此字段要和前面的字段一样)from 表名(另一个表)where 条件)

波密县15255995907: sql语句怎么在一个数据库中查找拥有同一字段名的所有表? -
钊黛龙骨: 1、在Oracle中,这样写就可以解决了 select column_name,table_name from user_tab_columns where column_name= 'test_name' 2、在SqlServer中,这样写就可以解决了 SELECT COLUMN_NAME,TABLE_NAME FROM INFORMATION_...

波密县15255995907: 数据库SQL查询语句 -
钊黛龙骨: (我不太清楚你说的课程号是指CNO还是CNAME,我这里假定你说的课程号为CNO,以下语句均未考虑字段数值类型) 1、SELECT A1.SNO,A1.SNAME,A2.GRADE FROM S A1,SC A2 WHERE A1.SNO = A2.SNO AND A2.CNO = C2 AND A2...

波密县15255995907: 请使用SQL语句完成下列两项查询: -
钊黛龙骨: select 学号,姓名,专业,课程名称,学分,成绩 from 课程 a inner join 成绩 b on a.课程号=b.课程号 inner join 学生 c on b.学号=c.学号 where c.是否党员='Y' and a.学分>=2 select 学号、姓名、课程名、成绩、教师姓名 from 学生 a inner join 成绩 b on a.学号=b.学号 inner join 课程 c on b.课程号=c.课程号 inner join 教师 d on d.教号=c.教号 where b.成绩>=80 and b.成绩<=90

波密县15255995907: 求高手指点一个相互关注查询逻辑的SQL及Linq语句. -
钊黛龙骨: 用IN会慢一些.可以改写成用EXISTS的写法,或者用下面的写法:select a.* from SNS_Follow a,SNS_Follow bwhere a.MemberId = b.TargetIdand a.TargetId = b.MemberIdand a.MemberId = 1;请你测试一下吧,应该是可以地.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网