栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何从三向联接表查询中列出第一个值?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何从三向联接表查询中列出第一个值?

子查询有许多很棒的方法,但是看来在本教程中您仅使用JOIN。以下是仅使用JOIN的方法:

SELECt  movie.title,  a2.nameFROM  actor AS a1  JOIN casting AS c1 ON (a1.id = c1.actorid)  JOIN movie ON (c1.movieid = movie.id)  JOIN casting AS c2 ON (movie.id = c2.movieid)  JOIN actor AS a2 ON (c2.actorid = a2.id)WHERe   a1.name = 'Julie Andrews'  AND c2.ord = 1

编辑(更具描述性):

这将为我们提供一个表,其中包含朱莉·安德鲁斯(Julie
Andrews)表演过的所有电影。我将演员和演员表分别别名为a1和c1,因为现在我们已经找到了电影列表,我们必须翻动并匹配再次靠在铸件台上。

SELECt  movie.*FROM  actor a1  JOIN casting c1 ON (a1.id = c1.actorid)  JOIN movie ON (c1.movieid = movie.id)WHERe  a1.name = 'Julie Andrews'

现在我们有了她演过的所有电影的列表,我们需要将其与演员表(作为c2)和演员表(作为a2)结合起来,以获得这些电影的主角列表:

SELECt  movie.title,  -- we'll keep the movie title from our last query  a2.name       -- and select the actor's name (from a2, which is defined below)FROM  actor a1    --   JOIN casting AS c1 ON (a1.id = c1.actorid)   --  )- no changes here  JOIN movie ON (c1.movieid = movie.id)        -- /  JOIN casting AS c2 ON (movie.id = c2.movieid)  -- join list of JA movies to the cast  JOIN actor AS a2 ON (c2.actorid = a2.id)  -- join cast of JA movies to the actorsWHERe   a1.name = 'Julie Andrews'  -- no changes  AND c2.ord = 1    -- only select the star of the JA film

编辑:在别名中,“ AS”关键字是可选的。我在上面插入了它,以帮助查询更有意义



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/386284.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号