The JOIN operation

注意:where语句中对表示条件的需要用单引号, 下面的译文使用的是有道翻译如有不正确,请直接投诉有道

01.List the films where the yr is 1962 [Show idtitle]

译文:列出年上映时间为1962年的电影(显示id,片名)

SELECT id, title FROM movie WHERE yr=1962;

02.Give year of 'Citizen Kane'.

译文:请说出《公民凯恩》年份。

SELECT yr FROM movie WHERE title = 'Citizen Kane';

03.List all of the Star Trek movies, include the idtitle and yr (all of these movies include the words Star Trek in the title). Order results by year.

译文:列出所有的《星际迷航》电影,包括id、标题和yr(所有这些电影的标题中都包含《星际迷航》这个单词)。订单结果逐年递增。

SELECT id, title, yr FROM movie WHERE title LIKE 'Star Trek%' 

04.What id number does the actor 'Glenn Close' have?

译文:演员“格伦·克洛斯”的身份证号码是多少

SELECT title FROM movie WHERE id IN (11768, 11955, 21191)

05.What is the id of the film 'Casablanca'

译文:电影《卡萨布兰卡》的主题是什么?

SELECT id FROM actor WHERE name LIKE 'Glenn Close'

06.Obtain the cast list for 'Casablanca'.what is a cast list?Use movieid=11768, (or whatever value you got from the previous question)

译文:获取《卡萨布兰卡》的演员名单。什么是演员名单?使用movieid=11768,(或从上一个问题中得到的任何值)

SELECT id FROM movie WHERE title LIKE 'Casablanca'

07.Obtain the cast list for the film 'Alien'

译文:获取电影《异形》的演员名单

SELECT name FROM actor WHERE id IN ( SELECT actorid FROM movie m JOIN casting c ON m.id = c.movieid WHERE id = 11768)

08.List the films in which 'Harrison Ford' has appeared

译文:列出哈里森·福特出演过的电影

SELECT name FROM actor WHERE id IN ( SELECT actorid FROM movie m JOIN casting c ON m.id = c.movieid WHERE id = ( SELECT id FROM movie WHERE title LIKE 'Alien'))

09.List the films where 'Harrison Ford' has appeared - but not in the starring role. [Note: the ord field of casting gives the position of the actor. If ord=1 then this actor is in the starring role]

译文:列出“哈里森·福特”出演过的电影,但不包括主演的电影。[注:cast的ord字段给出了演员的位置。如果ord=1,则表示该演员在主演角色]

SELECT title FROM movie m JOIN casting c ON (m.id= c.movieid) WHERE c.actorid IN( SELECT id FROM actor WHERE name = 'Harrison Ford')

10.List the films together with the leading star for all 1962 films.

译文:列出1962年所有电影的电影和主演

SELECT title FROM movie m JOIN casting c ON (m.id= c.movieid) WHERE c.ord != 1 AND c.actorid IN( SELECT id FROM actor WHERE name = 'Harrison Ford')

11.Which were the busiest years for 'Rock Hudson', show the year and the number of movies he made each year for any year in which he made more than 2 movies.

译文:哪一年是“洛克·哈德逊”最繁忙的年份,展示他每年制作超过2部电影的电影数量。

SELECT yr,COUNT(title) FROM movie JOIN casting ON movie.id=movieid JOIN actor ON actorid=actor.id WHERE name='John Travolta' GROUP BY yr HAVING COUNT(title) > 2;

12.List the film title and the leading actor for all of the films 'Julie Andrews' played in.

译文:请列出“朱莉·安德鲁斯”参演的所有影片的片名和男主角。

SELECT title, name FROM casting JOIN movie ON movie.id = casting.movieid JOIN actor ON casting.actorid = actor.id WHERE movieid IN (SELECT movieid FROM casting WHERE actorid IN ( SELECT id FROM actor WHERE name='Julie Andrews')) AND ord = 1;

13.Obtain a list, in alphabetical order, of actors who've had at least 15 starring roles.

译文:获得一个至少扮演过15个角色的演员名单,按字母顺序排列。

SELECT name FROM actor WHERE id IN(SELECT actorid FROM casting WHERE ord = 1 GROUP BY actorid HAVING COUNT(*) >= 30);

14.List the films released in the year 1978 ordered by the number of actors in the cast, then by title.

译文:列出1978年上映的电影,按演员数量排序,然后按片名排序。

SELECT title, COUNT(actorid) AS num
FROM casting JOIN movie ON id = movieid
WHERE yr= 1978
GROUP BY movieid, title
ORDER BY num DESC, title;

15.List all the people who have worked with 'Art Garfunkel'.

译文:列出所有与“阿特·加芬克尔”共事过的人。

SELECT name
FROM actor JOIN casting ON id = actorid
WHERE name <> 'Art Garfunkel'
AND movieid IN
SELECT movieid FROM casting
WHERE actorid IN (SELECT id FROM actor WHERE name = 'Art Garfunkel'));

练习网址:https://sqlzoo.net/wiki/More_JOIN_operations

——————————————————————————————————————————————————————————————————————————————————————————————————————————

More JOIN operations -- SQLZOO的更多相关文章

  1. The JOIN operation -- SQLZOO

    The JOIN operation 注意:where语句中对表示条件的需要用单引号, 下面的译文使用的是有道翻译如有不正确,请直接投诉有道 01.Modify it to show the matc ...

  2. mysql练习----More JOIN operations

    This tutorial introduces the notion of a join. The database consists of three tables movie , actor a ...

  3. SQL练习六--More JOIN operations

    movie Field name Type Notes id INTEGER An arbitrary unique identifier title CHAR(70) The name of the ...

  4. SQLZOO 习题

    https://sqlzoo.net 8. 美國.印度和中國(USA, India, China)是人口又大,同時面積又大的國家.排除這些國家. 顯示以人口或面積為大國的國家,但不能同時兩者.顯示國家 ...

  5. Java Concurrency - Fork/Join Framework

    Normally, when you implement a simple, concurrent Java application, you implement some Runnable obje ...

  6. sort merge join,hash join,netsloop join

    Join Operations ? SORT-MERGE JOIN – Sorts tables on the join key and then merges them together – Sor ...

  7. Pandas -- Merge,join and concatenate

    Merge, join, and concatenate pandas provides various facilities for easily combining together Series ...

  8. Python Pandas Merge, join and concatenate

    Pandas提供了基于 series, DataFrame 和panel对象集合的连接/合并操作. Concatenating objects 先来看例子: from pandas import Se ...

  9. left outer join preserving unmatched rows from the first table

    https://docs.oracle.com/javadb/10.8.3.0/ref/rrefsqlj18922.html INNER JOIN operation Specifies a join ...

随机推荐

  1. mybatis关于Criteria的一点小坑。。。

    目录 在用Criteria时,相关代码如下: final RolePermissionExample example = new RolePermissionExample(); example.cr ...

  2. sendRedirect()和forward()方法的区别

    sendRedirect()和forward()方法的区别 之前好像曾经整理过,但忘了放在哪里了,好像压根就没整理过,博客里也没有,故今天重新整理一下. 我们知道页面之间的跳转有两种方式:重定向与转发 ...

  3. django模板中变更数据库信息后,如何把变更后的信息同步更新到数据库

    我们在基于django开发项目的过程中,经常会遇到数据库表字段增加,删除,或者修改的情况,以及字段属性更改的情况,因为django基于ORM模式来操作数据库的, 传统上如果django项目中的数据库m ...

  4. vs dll lib 使用记录

    今天把学习opengl的项目从一个电脑copy到另一个电脑时候,发生了glu.dll找不到,导致项目起不来的问题.后来网上查找发现, 虽然我使用了静态连接 mt/mtd 编译, 但是有可能lib中并没 ...

  5. Python split分割字符串

    s = input(); str = s.split("-") print("{}+{}".format(str[0],str[-1]))

  6. order by 注入姿势

    order by 注入原理 其实orde by 注入也是sql注入的一种,原理都一样就是mysql语法的区别,order by是用来排序的语法. sql-lab讲解 判断方法 1.通过做运算来判断如: ...

  7. 攻防世界FlatScience

    访问robots.txt发现 admin.php和login.php 在admin.php和login.php分别尝试注入 发现login.php页面存在注入,并且根据报错得知数据库类型为sqlite ...

  8. tinymce 设置和获取编辑器的内容

    $('目标元素').html(插入的内容) //设置tinymce编辑器的内容tinymce.get('目标元素').getContent() //获取tinymce编辑器的内容

  9. Maven 专题(一):Maven 安装与配置(vscode)

    0.首先了解一下maven安装目录 Bin:该目录包含Mvn运行的脚本 Boot:Maven自身的类加载器框架 Conf:包含非常重要的文件setting.xml Lib:该目录包含了所有Maven运 ...

  10. 数据可视化之powerBI基础(十七)掌握PowerBI按列排序,再也不用担心顺序错乱了

    https://zhuanlan.zhihu.com/p/64421933 经常有朋友问,当把文本字段放到坐标轴或者切片器上,显示的顺序都乱了,完全不是自己想要的,就像下面这些, ↑月份坐标轴 ↑星期 ...