本文目录一览

1,有哪些常见的mysql子查询

朋友,意义不一样,第一个你查的肯定是匹配字段啊,只有一个。嵌套一个select 那不就是所有的?

有哪些常见的mysql子查询

2,简述数据库查询子查询的种类与执行方法

(1)相关子查询 where exists(select .....)先执行外查询再执行内查询 不相关子查询 where Sno in (select ....)先执行内查询再执行外查询(2)从谓词上分为some\any\all和exists和其他(3)从结果集上分为行、列、标量、表子查询

简述数据库查询子查询的种类与执行方法

3,SQL相关子查询

SELECT HouseGUID,PhotoImg,HousePriceAll,HouseAreaAll FROM dbo.House Cleft join (SELECT TOP 1 FGUID,PhotoImg FROM dbo.Photo) P on (P. FGUID=C.HouseGUID)
select * from House, Photo where House.GUID=Photo.FGUID group by Photo.FGUID;
你这样写1. sc表中如果s#与c#是一对多or多对多的关系,可能会报错2. 从你的语句来看,你现在查询的是已经选课的学生。因为你最后的查询条件是sc.c# is not null3. 为什么会是多条数据。原因大概是这样的。你这里写的语句,用了sql查询中一个很高级的概念。关联子查询。它的执行顺序是a.从student表中查询一条数据mb.将m放到sc表中根据where s.s#=sc.s#寻找满足的数据n,然后再在n中根据sc.c# is not null查找满足的数据kc.将k的结果再与主查询中where s#=相匹配d.如果k的结果是〉1的,那么你的语句就会报错。就算k每次只返回一条数据,也有可能返回重复的数据(因为sc中s#与c#只要不是一对一,就有可能返回重复的数据)修改代码如下--如果一个学生有任何一门课没选课,就返回他的名字select distinct a.sname from student as ainner join sc as b on a.s#=b.s#where b.c# is null
SELECT TOP 1 C.HouseGUID,C.HousePriceAll,C.HouseAreaAll,P.PhotoImg FROM dbo.House Cinner join dbo.Photo P on P.FGUID=C.HouseGUID

SQL相关子查询


文章TAG:数据  数据库  子查询  查询  数据库的子查询有哪些  
下一篇