【SQL】SQL训练网站 SQLBlot
网站地址:
https://sqlbolt.com/
Lesson1:
-- https://sqlbolt.com/lesson/select_queries_introduction
-- Find the title of each film ✓
SELECT `TITLE ` FROM `movies`; -- Find the director of each film ✓
SELECT `DIRECTOR` FROM movies; -- Find the title and director of each film ✓
SELECT `TITLE`,`DIRECTOR` FROM movies; -- Find the title and year of each film ✓
SELECT `TITLE`,`YEAR` FROM movies; -- Find all the information about each film ✓
SELECT * FROM movies;
Lesson2:
-- https://sqlbolt.com/lesson/select_queries_with_constraints -- Find the movie with a row id of 6 ✓
SELECT * FROM movies WHERE `ID` = 6; -- Find the movies not released in the years between 2000 and 2010 ✓
SELECT * FROM movies WHERE `YEAR` BETWEEN 2000 AND 2010; -- Find the movies not released in the years between 2000 and 2010 ✓
SELECT `TITLE`, `YEAR` FROM movies WHERE `YEAR` < 2000 OR `YEAR` > 2010;
SELECT * FROM movies WHERE `YEAR` NOT BETWEEN 2000 AND 2010; -- Find the first 5 Pixar movies and their release year ✓
SELECT `TITLE`, `YEAR` FROM movies WHERE `YEAR` <= 2003;
Lesson3:
https://sqlbolt.com/lesson/select_queries_with_constraints_pt_2 -- Find all the Toy Story movies ✓
SELECT * FROM movies WHERE `TITLE ` LIKE '%Toy Story%'; -- Find all the movies directed by John Lasseter ✓
SELECT * FROM movies WHERE `DIRECTOR` = 'John Lasseter' -- Find all the movies (and director) not directed by John Lasseter ✓
SELECT * FROM movies WHERE `DIRECTOR` != 'John Lasseter' -- Find all the WALL-* movies ✓
SELECT * FROM movies WHERE `TITLE` LIKE '%WALL-%'
Lesson4:
-- https://sqlbolt.com/lesson/filtering_sorting_query_results -- List all directors of Pixar movies (alphabetically), without duplicates ✓
SELECT DISTINCT `DIRECTOR` FROM movies ORDER BY `DIRECTOR` -- List the last four Pixar movies released (ordered from most recent to least) ✓
SELECT * FROM movies ORDER BY `YEAR` DESC LIMIT 4 -- List the first five Pixar movies sorted alphabetically ✓
SELECT * FROM movies ORDER BY `TITLE` ASC LIMIT 5 -- List the next five Pixar movies sorted alphabetically ✓
SELECT * FROM movies ORDER BY `TITLE` ASC LIMIT 5, 5
Lesson5:
-- https://sqlbolt.com/lesson/select_queries_review -- List all the Canadian cities and their populations ✓
SELECT * FROM north_american_cities WHERE `COUNTRY` = 'Canada'; -- Order all the cities in the United States by their latitude from north to south ✓
SELECT * FROM north_american_cities
WHERE `COUNTRY` = 'United States'
ORDER BY `LATITUDE` DESC; -- List all the cities west of Chicago, ordered from west to east ✓
SELECT `CITY`,`LONGTITUDE` FROM north_american_cities
WHERE `LONGTITUDE` < -87.629798
ORDER BY `LONGTITUDE` ASC; -- List the two largest cities in Mexico (by population) ✓
SELECT * FROM north_american_cities
WHERE `COUNTRY` = 'Mexico'
ORDER BY `POPULATION` DESC LIMIT 2 -- List the third and fourth largest cities (by population) in the United States and their population ✓
SELECT * FROM north_american_cities
WHERE `COUNTRY` = 'United States'
ORDER BY `POPULATION` DESC LIMIT 2, 2
Lesson6:
-- https://sqlbolt.com/lesson/select_queries_with_joins -- Find the domestic and international sales for each movie ✓
SELECT
A.*,
B.`DOMESTIC_SALES`,
B.`INTERNATIONAL_SALES`
FROM
movies AS A
JOIN `boxoffice` AS B ON A.ID = B.MOVIE_ID; -- Show the sales numbers for each movie that did better internationally rather than domestically ✓
SELECT `title`, `domestic_sales`, `international_sales`
FROM
`MOVIES` AS A
JOIN `BOXOFFICE` AS B ON A.id = B.movie_id
WHERE B.`international_sales ` > B.`domestic_sales`; -- List all the movies by their ratings in descending order ✓
SELECT A.`title`, B.`rating`
FROM
`movies` AS A
JOIN `boxoffice` AS B ON movies.id = boxoffice.movie_id
ORDER BY rating DESC;
Lesson7:
-- https://sqlbolt.com/lesson/select_queries_with_outer_joins -- Find the list of all buildings that have employees ✓
SELECT DISTINCT building FROM employees; -- Find the list of all buildings and their capacity ✓
SELECT * FROM Buildings -- List all buildings and the distinct employee roles in each building (including empty buildings) ✓
SELECT DISTINCT A.`building_name`, B.`role `
FROM
buildings AS A
LEFT JOIN employees AS B ON A.building_name = B.building;
Lesson8:
-- https://sqlbolt.com/lesson/select_queries_with_nulls -- Find the name and role of all employees who have not been assigned to a building ✓
SELECT * FROM Employees WHERE Building IS NULL -- Find the names of the buildings that hold no employees ✓
SELECT
A.Building_name
FROM
Buildings AS A
LEFT JOIN Employees AS B ON A.Building_name = B.Building
WHERE
B.Building IS NULL
Lesson9:
-- https://sqlbolt.com/lesson/select_queries_with_expressions -- List all movies and their combined sales in millions of dollars ✓
SELECT
A.title,
(domestic_sales + international_sales) / 1000000 AS gross_sales_millions
FROM
movies AS A,
JOIN boxoffice AS B ON A.id = B.movie_id; -- List all movies and their ratings in percent ✓
SELECT
A.TITLE,
B.RATING * 10 AS rating_percent
FROM
movies AS A
JOIN Boxoffice AS B ON A.ID = B.MOVIE_ID -- List all movies that were released on even number years ✓
SELECT title, year
FROM movies
WHERE year % 2 = 0;
Lesson10:
-- https://sqlbolt.com/lesson/select_queries_with_aggregates -- Find the longest time that an employee has been at the studio ✓
SELECT * FROM employees ORDER BY Years_employed DESC LIMIT 1; -- For each role, find the average number of years employed by employees in that role ✓
SELECT ROLE, AVG(Years_employed) FROM Employees GROUP BY ROLE -- Find the total number of employee years worked in each building ✓
SELECT building, SUM(years_employed) as Total_years_employed
FROM employees
GROUP BY building;
Lesson11:
-- https://sqlbolt.com/lesson/select_queries_with_aggregates_pt_2 --Find the number of Artists in the studio (without a HAVING clause) ✓
SELECT ROLE, COUNT(NAME)
FROM employees
WHERE ROLE = 'Artist'
GROUP BY ROLE; SELECT role, COUNT(*) as Number_of_artists
FROM employees
WHERE role = "Artist"; -- Find the number of Employees of each role in the studio ✓
SELECT role, COUNT(*) as Number_of_artists
FROM employees
GROUP BY ROLE -- Find the total number of years employed by all Engineers ✓
SELECT SUM(Years_employed) FROM Employees WHERE ROLE = 'Engineer';
Lesson12:
-- https://sqlbolt.com/lesson/select_queries_order_of_execution -- Find the number of movies each director has directed ✓
SELECT Director,COUNT(*) FROM movies GROUP BY Director; -- Find the total domestic and international sales that can be attributed to each director ✓
SELECT
Director,
SUM(B.Domestic_sales + B.International_sales) AS Cumulative_sales_from_all_movies
FROM
Movies AS A
JOIN Boxoffice AS B ON A.ID = B.MOVIE_ID
GROUP BY A.Director
Lesson13:
-- https://sqlbolt.com/lesson/inserting_rows -- Add the studio's new production, Toy Story 4 to the list of movies (you can use any director) ✓
INSERT INTO Movies (Id, Title, Director, Year, Length_minutes) VALUES
(NULL, 'Toy Story 4', 'John Lasseter', NULL, NULL) -- Toy Story 4 has been released to critical acclaim! It had a rating of 8.7, and made 340 million domestically and 270 million internationally. Add the record to the BoxOffice table. ✓
INSERT INTO Boxoffice (Movie_id, Rating, Domestic_sales, International_sales) VALUES
(15, ' 8.7', 34000000, 27000000)
Lesson14:
-- https://sqlbolt.com/lesson/updating_rows -- The director for A Bug's Life is incorrect, it was actually directed by John Lasseter ✓
UPDATE `Movies`
SET DIRECTOR = 'John Lasseter'
WHERE TITLE = "A Bug's Life" -- The year that Toy Story 2 was released is incorrect, it was actually released in 1999 ✓
UPDATE `Movies`
SET YEAR = 1999
WHERE TITLE = 'Toy Story 2' -- Both the title and director for Toy Story 8 is incorrect! The title should be "Toy Story 3" and it was directed by Lee Unkrich ✓
UPDATE `Movies`
SET
DIRECTOR = 'Lee Unkrich',
TITLE = 'Toy Story 3'
WHERE TITLE = 'Toy Story 8'
Lesson15:
-- https://sqlbolt.com/lesson/deleting_rows -- This database is getting too big, lets remove all movies that were released before 2005. ✓
DELETE FROM movies WHERE YEAR < 2005; -- Andrew Stanton has also left the studio, so please remove all movies directed by him. ✓
DELETE FROM movies WHERE DIRECTOR = 'Andrew Stanton';
Lesson16:
-- https://sqlbolt.com/lesson/creating_tables -- Create a new table named Database with the following columns:
– Name A string (text) describing the name of the database
– Version A number (floating point) of the latest version of this database
– Download_count An integer count of the number of times this database was downloaded
This table has no constraints. CREATE TABLE `Database`(
NAME VARCHAR,
VERSION FLOAT,
Download_count INT
)
Lesson17:
-- Add a column named Aspect_ratio with a FLOAT data type to store the aspect-ratio each movie was released in. ✓
ALTER TABLE `Movies`
ADD COLUMN `Aspect_ratio` FLOAT DEFAULT 2.39 -- Add another column named Language with a TEXT data type to store the language that the movie was released in. Ensure that the default for this language is English. ✓
ALTER TABLE `Movies`
ADD COLUMN `Language` TEXT DEFAULT "English";
Lesson18:
-- https://sqlbolt.com/lesson/dropping_tables -- We've sadly reached the end of our lessons, lets clean up by removing the Movies table ✓
DROP TABLE `MOVIES`; -- And drop the BoxOffice table as well ✓
DROP TABLE `BOXOFFICE`;
【SQL】SQL训练网站 SQLBlot的更多相关文章
- [SQL]SQL类似统计功能的sql文
declare @t table(name varchar(),type int) insert into @t union all union all union all union all if ...
- pl/sql sql窗口允许输出和允许变量替换
pl/sql sql窗口允许输出和允许变量替换 允许输出:类似在命令窗口中输入的 setserveroutput on; 允许变量替换:如果点击了这个,类似于执行 set define off命令 在 ...
- 通过SQL注入获得网站后台用户密码
通过 SQL 注入攻击,掌握网站的工作机制,认识到 SQL 注入攻击的防范措施,加强对 Web 攻击的防范. 一.实验环境 下载所需代码及软件:获取链接:链接:https://pan.baidu.co ...
- SQL在线学习网站
1.在线编写网页:http://sqlfiddle.com/ 2.SQL菜鸟教程:http://www.runoob.com/sql/sql-intro.html 3.SQL语句在线练习 http:/ ...
- Java实战|Tomcat+Servlet+Sql开发简单网站,从配置环境开始
课题描述: Java实验五 Servlet (继续使用实验四中创建的students数据库和其中的scores表) 使用Tomcat作为Web服务器和Servlet容器,使用SQL Server/My ...
- 5cms使用sql语句给网站添加内容
<!--list:{$Sql=UPDATE [{pre}Content] SET Indexpic="/uploadfile/201405/25/lsgjyst.jpg",t ...
- oracle的sql语句训练
--查询工资最高的人的名字select ename ,sal from emp where sal=(select max(sal) from emp );--求出员工的工资在所有人的平均工资之上的人 ...
- [SQL] SQL学习笔记之基础操作
1 SQL介绍 SQL 是用于访问和处理数据库的标准的计算机语言.关于SQL的具体介绍,我们通过回答如下三个问题来进行. SQL 是什么? SQL,指结构化查询语言,全称是 Structured Qu ...
- [SQL]SQL语言入门级教材_SQL数据操作基础(二)
SQL数据操作基础(初级) netnova 于 -- :: 加贴在 数据库探讨: 为了建立交互站点,你需要使用数据库来存储来自访问者的信息.例如,你要建立一个职业介绍服务的站点,你就需要存储诸如个人简 ...
- [SQL] SQL 基础知识梳理(一)- 数据库与 SQL
SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...
随机推荐
- Java BigInteger类和BigDecimal()类
BigInteger类 BigInteger 支持任意精度的整数,可以准确的表达任何大小的整数而不丢失精准度 BigInteger 位于 java.math包中 BigInteger()括号里必须是字 ...
- 设定cookie 获取cookie数据的转换
1,cookie必须是键值对形式的 键名=数值 而且必须是 字符串格式 document.cookie = 'nam ...
- macbookrpro使用体验
前言 之前用的电脑是拯救者y7000 2020,用了四五年,年前就有换电脑的打算.计划就是买一个苹果电脑,在查看了挺多电脑,多方面对比后,最终还是买了Macbook pro. 我买的笔记本的配置如下: ...
- Flashduty 案例分享 - 途游游戏
Flashduty 作为功能完备的事件OnCall中心,可以接入云上.云下不同监控系统,统一做告警降噪分派.认领升级.排班协同,已经得到众多先进企业的认可.我们采访了一些典型客户代表,了解他们的痛点. ...
- 妙用OSGraph:发掘GitHub知识图谱上的开源故事
1. 何为OSGraph? OSGraph (Open Source Graph) 是一个开源图谱关系洞察工具,基于GitHub开源数据全域图谱,实现开发者行为.项目社区生态的分析洞察.可以为开发者. ...
- R语言求取大量遥感影像的平均值、标准差:raster库
本文介绍基于R语言中的raster包,批量读取多张栅格图像,对多个栅格图像计算平均值.标准差,并将所得新的栅格结果图像保存的方法. 在文章基于R语言的raster包读取遥感影像中,我们介绍了基 ...
- NXP i.MX 8M Mini视频开发案例分享 (上)
本文主要介绍i.MX 8M Mini的视频开发案例,包含基于GStreamer的视频采集.编解码.算法处理.显示以及存储案例,GigE工业相机测试说明,H.265视频硬件解码功能演示说明等. 注:本案 ...
- Java类全路径冲突解决方法
1. 问题 今天在开发中遇到这样一个问题,A同事在导入了我们的实验SDK后,发现实验无法正常获取,查看日志发现了NoClassDefFoundError异常,无法加载的的类中逻辑比较简单,只依赖了另外 ...
- Me-and-My-Girlfriend-1靶机渗透流程
Me-and-My-Girlfriend-1 靶机下载 Description: This VM tells us that there are a couple of lovers namely A ...
- Python数据分析方法与技巧
背景介绍 数据分析是数据科学领域的核心技能之一,它涉及到数据的收集.清洗.处理.分析和可视化. 数据分析是指通过收集.清洗.处理.分析和可视化数据来发现隐藏的模式.趋势和关系的过程. 数据分析是数据科 ...