数据库管理工具Navicat Premium教程:几个重要的SELECT语句

Navicat Premium是一个可连接多种数据库的管理工具,它可以让你以单一程序同时连接到MySQL、Oracle及PostgreSQL数据库,让管理不同类型的数据库更加的方便。

数据是许多大大小小的企业的核心部分。例如,Facebook存储每个用户的个人资料信息,包括关于他们的朋友和数据库系统内的帖子的数据。SQL(结构化查询语言的缩写)是一种编程语言,使开发人员和数据库管理员能够使用该数据。

对于数据库工作,您应该熟悉一些常用的SQL命令。不包括数据定义语言(DDL)或数据操作语言(DML)语句,SQL命令包括使用SELECT语句从表和视图中获取数据的命令。今天的文章将介绍几个最重要的查询,以及使用Navicat Premium作为数据库客户端的一些示例。

确定列的最低/最高值

该Sakila样例数据库包含了许多涵盖了从演员和电影制片厂到录像带出租店周围的电影业为主题的表。我们今天将在这里构建的查询将针对它运行,因此您可能需要参考关于MySQL数据的生成报告教程,以获取有关下载和安装Sakila数据库的说明。

Sakila数据库中的一个中心表是电影表。它包含了我们虚构的视频租赁商店拥有的每部电影的详细信息。它包括电影标题、发行年份以及租赁价格等信息:

24film_table(1).jpg

假设我们想知道价格范围是什么——也就是说,最低和最高的租金是多少?我们可以很容易地找到使用MIN()和MAX()聚合函数。聚合函数对一组值执行计算并返回单个值结果。有许多聚合函数,包括AVG、COUNT、SUM、MIN、MAX等。这是一个将MIN()和MAX()应用于电影表的rental_rate字段的查询:

SELECT MIN(f.rental_rate) as lowest_price,
       MAX(f.rental_rate) as highest_price
FROM film f;

正如所料,每个函数都返回一个值:

25lowest_highest_rental_price.jpg

按类别分组结果

SQL中最强大的一个子句是GROUP BY。它将具有相同值的行分组到汇总行中。因此,GROUP BY语句通常与聚合函数(COUNT、MAX、MIN、SUM、AVG)一起使用,以将结果集分组为一列或多列。

我们可以使用GROUP BY子句列出每部电影评级的最低和最高租金成本,例如《General》、《PG》、《PG-13》等。我们需要做的就是将评级字段添加到列列表中,并附加GROUP BY子句到我们现有查询的结尾:

SELECT f.rating,
       MIN(f.rental_rate) as lowest_price,
       MAX(f.rental_rate) as highest_price
FROM film f
GROUP BY f.rating;

我们的结果显示,每部评级的电影价格从0.99美元到4.99美元不等:

26lowest_highest_rental_price_grouped_by_rating.jpg

结论

今天的博客介绍了一些最重要的查询,以及一些使用Navicat Premium作为数据库客户端的示例。Navicat通过获取关键字的建议并从编码中删除重复,帮助您快速编写代码完成和可自定义的代码片段。


猜你喜欢

转载自blog.51cto.com/14467432/2438455