SQL语句 相关学习
SQL 相关学习
- SQL 线上练习网站
- 1-12节参考答案
- SQL 线上练习相关文章
- SQL 线上语法
SQL 相关知识
- sql 语句对大小写不敏感 (下面两句 sql 语句最终的执行结果是一样的)
- SELECT * FROM movies
- select * from movies
查询语句
- 查询
指定数据表
的所有数据(所有属性
)
例子: 查询 movies 表中的所有数据, sql 语句如下.
select * from movies
例子: 查询 movies 中所有 title,content 属性的语句
select title,content from movies
- 查询指定数据表中的指定属性(
带条件查询
)
例子: 查询 movies 中 year = 1995
select * from movies where year = 1995
select year from movies where year = 1995
- 查询数据表中总条数(
数据总数
)
select count(*) from movies
- select 计算
select 语句后面跟上 数学表达式,可直接进行计算
sql 1+1
简单条件练习
- 【简单条件】找到 id 为 6 的电影 ✓
- 【简单条件】找到在 2000-2010 年间 year 上映的电影
- 【简单条件】找到不是在 2000-2010 年间 year 上映的电影
- 【简单条件】找到头 5 部电影
- 【简单条件】找到 2010(含)年之后的电影里片长小于两个小时的片子
select * from movies where id = 6
select * from movies where year between 2000 and 2010
select * from movies where year not between 2000 and 2010
select * from movies where id <6
select * from movies where year >= 2010 and length_minutes < 120
复杂条件练习
- 【复杂条件】找到所有 Toy Story 系列电影
- 【复杂条件】找到所有 John Lasseter 导演的电影
- 【复杂条件】找到所有不是 John Lasseter 导演的电影
- 【复杂条件】找到所有电影名为 “WALL-” 开头的电影
- 【复杂条件】有一部 98 年电影中文名《虫虫危机》请给我找出来
select * from movies where title like "Toy Story%"
select * from movies where director = "John Lasseter"
select * from movies where director != "John Lasseter"
select * from movies where title like "WALL-_"
排序
- 【结果排序】按导演名排重列出所有电影(只显示导演),并按导演名正序排列
- 【结果排序】列出按上映年份最新上线的 4 部电影
- 【结果排序】按电影名字母序升序排列,列出前 5 部电影
- 【结果排序】按电影名字母序升序排列,列出上一题之后的 5 部电影 (这里的上一题指的是,第三题)
- 【结果排序】如果按片长排列,John Lasseter 导演导过片长第 3 长的电影是哪部,列出名字即可
select distinct director from movies
select * from movies
order by year desc
limit 4 offset 1
select * from movies
order by title asc
limit 5 offset 0
select * from movies
order by title asc
limit 5 offset 5
select title from movies
where director ="John Lasseter"
order by length_minutes desc
limit 1 offset 2
综合练习
- 【复习】列出所有加拿大人的 Canadian 信息(包括所有字段) ✓
- 【复习】列出所有在 Chicago 西部的城市,从西到东排序(包括所有字段) ✓
- 【复习】用人口数 population 排序,列出墨西哥 Mexico 最大的 2 个城市(包括所有字段)
- 【复习】列出美国 United States 人口 3-4 位的两个城市和他们的人口(包括所有字段)
select * from north_american_cities
where country = "Canada"
select * from north_american_cities
where longitude < -87.629798
order by longitude asc
select * from north_american_cities
where country = "Mexico"
order by population desc
limit 2 offset 0
select * from north_american_cities
where country = "United States"
order by population desc
limit 2 offset 2
联表查询
- 注意:
联表查询
会把两张表中的所有属性
对应的所有数据给返回
联表查询练习
表一: movies
表二: boxoffice
关联字段:
- 主表 - id 附表 - movie_id
- 【联表】找到所有电影的国内 Domestic_sales 和国际销售额 ✓
- 【联表】找到所有国际销售额比国内销售大的电影
- 【联表】找出所有电影按市场占有率 rating 倒序排列
- 【联表】每部电影按国际销售额比较,排名最靠前的导演是谁,国际销量多少
select * from movies
inner join boxoffice on id = movie_id
select * from movies
inner join boxoffice on id = movie_id
where International_sales > Domestic_sales
select * from movies
inner join boxoffice on id = movie_id
order by rating
select director,international_sales from movies
inner join boxoffice on id = movie_id
order by international_sales desc
limit 1 offset 0