SQL - SELECT 查询:初学者指南
你好,有抱负的SQL爱好者们!我很高兴能成为你们在这个激动人心的SQL SELECT查询世界中的向导。作为一个教授SQL超过十年的人,我可以向你保证,掌握SELECT语句就像打开了一个充满数据可能性的宝箱。那么,让我们开始吧!
SQL SELECT 语句
SELECT 语句是什么?
SELECT语句是SQL的核心。它是我们如何从数据库中检索数据的方式,相信我,你会经常用到它的!把它想象成一种礼貌地向数据库询问的方式:“嘿,你能给我展示一些信息吗?”
基本语法
以下是SELECT语句的最基本形式:
SELECT column1, column2, ...
FROM table_name;
让我们分解一下:
- SELECT:这是我们告诉数据库我们想要检索数据的魔法词汇。
- column1, column2, ...:这些是我们想要看到的特定列。
- FROM:这个关键词引入了我们正在查询的表。
- table_name:这是我们包含数据的表的名称。
示例 1:选择所有列
SELECT *
FROM employees;
这个查询表示:“从employees表中展示所有内容。”星号(*)是一个通配符,表示“所有列”。
示例 2:选择特定列
SELECT first_name, last_name, email
FROM employees;
这个查询礼貌地请求所有员工的名字、姓氏和电子邮件。
使用 SELECT 进行计算
现在,让我们来点刺激的!SELECT不仅仅用于检索原始数据;我们还可以用它来进行计算。
示例 3:基本算术
SELECT
product_name,
unit_price,
units_in_stock,
unit_price * units_in_stock AS total_value
FROM products;
在这个查询中,我们不仅仅是选择列,还在进行一些数学计算!我们正在将单价乘以库存中的单位数来得到每个产品的总价值。
示例 4:使用内置函数
SQL带有很多内置函数,可以让我们的生活更轻松。以下是一个使用UPPER函数的例子:
SELECT
UPPER(first_name) AS uppercase_first_name,
UPPER(last_name) AS uppercase_last_name
FROM employees;
这个查询将所有的名字和姓氏转换为大写。就像是在请求数据库对我们大喊这些名字!
在 SELECT 语句中别名列
有时,我们数据库中的列名并不那么用户友好,或者我们想要给我们的计算列赋予有意义的名称。这时,别名就派上用场了!
什么是别名?
别名就像给你的列起个昵称。它不会改变数据库中实际的列名;它只是改变它在查询结果中的显示方式。
示例 5:基本别名
SELECT
first_name AS "First Name",
last_name AS "Last Name"
FROM employees;
在这个例子中,我们给列起了友好的别名。在我们的结果中,我们看到的不再是"first_name"和"last_name",而是"First Name"和"Last Name"。
示例 6:给计算列起别名
SELECT
product_name,
unit_price,
units_in_stock,
unit_price * units_in_stock AS "Total Inventory Value"
FROM products;
在这里,我们给计算列赋予了一个描述性的名称。这使得我们的查询结果更加可读和自解释。
一切皆有可能
让我们把我们学到的所有东西结合到一个伟大的查询中:
SELECT
UPPER(p.product_name) AS "Product",
p.unit_price AS "Price",
p.units_in_stock AS "Stock",
p.unit_price * p.units_in_stock AS "Total Value",
c.category_name AS "Category"
FROM
products p
JOIN
categories c ON p.category_id = c.category_id
WHERE
p.units_in_stock > 0
ORDER BY
"Total Value" DESC;
这个查询:
- 选择产品信息
- 计算每个产品的总价值
- 使用别名以提高可读性
- 将产品表与类别表连接
- 过滤出库存中的产品
- 按总价值降序排列结果
很酷吧?我们已经从简单的SELECT语句走得很远了!
结论
恭喜你!你已经迈出了进入SQL SELECT查询奇妙世界的第一步。记住,熟能生巧,所以不要害怕尝试这些概念。
下面是我们覆盖方法的快速参考表:
方法 | 描述 | 示例 |
---|---|---|
基本SELECT | 从表中检索数据 | SELECT column FROM table; |
带计算的SELECT | 在查询中执行计算 | SELECT column1 * column2 AS result FROM table; |
带函数的SELECT | 使用内置的SQL函数 | SELECT UPPER(column) FROM table; |
带别名的SELECT | 在结果集中重命名列 | SELECT column AS "New Name" FROM table; |
快乐查询,愿你的数据永远干净,你的连接永远成功!
Credits: Image by storyset