【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 数据库 ...
随机推荐
- 修改linux默认启动界面——从命令行模式转换为图形化模式
从命令行模式转换为图形化模式 首先需要安装对应的图形化安装包 yum groupinstall "GNOME Desktop" "Graphical Administra ...
- jquery checkbox的全选和反选
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- SCOI 回旋退役记
02.21 day -2 开始写了,期望这不是真的退役记吧.但是不是的概率好小-- 这几天一直考试,怎么说呢,到差不差的,也就那个样子. 归根结底,菜是原罪,和那些大佬相比我真的很很很菜啊.当时看 c ...
- LeetCode 680. Valid Palindrome II 验证回文字符串 Ⅱ(C++/Java)
题目: Given a non-empty string s, you may delete at most one character. Judge whether you can make it ...
- 剑指Offer-50.数组中重复的数字(C++/Java)
题目: 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度为7 ...
- 欢迎 Stable Diffusion 3 加入 🧨 Diffusers
作为 Stability AI 的 Stable Diffusion 家族最新的模型,Stable Diffusion 3 (SD3) 现已登陆 Hugging Face Hub,并且可用在 Diff ...
- Jx9 虚拟机
一.Jx9 虚拟机的生命周期 加载 Jx9 脚本 jx9_compile() 或 jx9_compile_file(),加载编译成功后,Jx9 引擎将自动创建一个实例 (jx9_vm) 并且返回指向此 ...
- 超越datetime:Arrow,Python中的日期时间管理大师
介绍 Arrow是一个Python库,它提供了一种合理且对人类友好的方法来创建.操作.格式化和转换日期.时间和时间戳.它实现了对datetime类型的更新,填补了功能上的空白,提供了一个智能的模块AP ...
- Jenkins构建UI自动化项目,指定本地执行,没弹起浏览显示
1. 原因分析 为什么执行web没有弹出浏览器,Jenkins日志显示正在执行中 jenkins是用windows installer 安装成 windows的服务了,那么启动windows后jenk ...
- [翻译].NET 8 的原生AOT及高性能Web开发中的应用[附性能测试结果]
原文: [A Dive into .Net 8 Native AOT and Efficient Web Development] 作者: [sharmila subbiah] 引言 随着 .NET ...