草稿:
比如这是一个brand表中brand_name的内容,如果我们要通过SQL获取这个内容那么如何写出相关代码呢?
brand_name
香奶奶
雅诗绿黛
绿蔻
SELECT brand_name
FROM brand;
选择brand_name 从brand表中。 看见了吗?类似于英语中的倒装句,先列(brand_name)后表(brand)。
注意:
1SELECT FROM的大小写无所谓但一般用大写,要查询的数据(表名、字段名等)使用小写。
2注意FROM brand之后的封号,一定要记得加上
那如果需要输出的结果是两列呢?
比如:
brand_name id
香奶奶 1
雅诗绿黛 2
绿蔻 3
那代码是吗??
SELECT brand_name and id
FROM brand;
并不是在SQL中","(英文)可以视为and的意思
(如果要查询的列数太多比如 brand_name id x x x x ......有几百个,我们不可能一个个去写,那么可以用 SELECT *代替 *就表示那些所有的列名)
当我们要求商品折扣率但是表中没有时,我们可以根据表的信息进行操作.
SELECT sku_name,transaction_price/current_price
FROM order_info_view;
但输出结果的列名是transaction_price/current_price 而非折扣率
而AS可以充当一个修改名称的效果 让transaction_price/current_price变成(AS) 折扣率
SELECT sku_name,transaction_price/current_price AS 折扣率
FROM order_info_view;
补充几点
1 不限制代码缩进格式
SQL语句是没有固定的缩进格式的。
推荐在编写SQL代码时,通过换行与缩进来提高代码的可读性。
-不换行
SELECT id FROM orders;
--换行
SELECT
id
FROM
orders;
2关键字的顺序
SQL语言对关键字的顺序要求很严格。
比如在一次查询语句中,SELECT一定要写在FROM之前。
SQL查询基础解析
一、单列查询
当需要获取单个字段时,使用基础SELECT语句:
SELECT brand_name
FROM brand;
- 关键点说明:
SELECT
在前,FROM
在后,构成类似英语倒装结构 - 符号注意:语句末尾必须加分号
;
,字段名与表名使用小写
二、多列查询
需要获取多个字段时,使用逗号分隔列名:
SELECT brand_name, id
FROM brand;
错误示例修正:
-- 错误写法(不可用AND连接字段)
SELECT brand_name AND id FROM brand;
-- 正确写法(逗号分隔)
SELECT brand_name, id FROM brand;
三、通配符使用
当需要所有字段时,可用星号*
代替:
SELECT *
FROM brand;
- 注意事项:实际开发中建议显式列出字段名,避免性能问题
四、计算字段与别名
当表中无目标字段时,可通过表达式计算:
SELECT
sku_name,
transaction_price / current_price AS 折扣率
FROM order_info_view;
- 别名功能:
AS
关键字可为计算结果设置列标题 - 表达式注意:确保分母不为零,否则会引发计算错误
五、格式规范建议
- 缩进规范:
-- 紧凑写法
SELECT id FROM orders;
-- 推荐换行写法
SELECT
id,
product_name
FROM
orders;
- 关键字顺序:
-- 正确顺序
SELECT column1
FROM table1
WHERE condition;
-- 错误示例(违反语法规则)
FROM table1 SELECT column1;
六、常见错误排查表
错误类型 | 示例 | 修正方案 |
---|---|---|
缺少逗号 | SELECT name id | SELECT name, id |
中文符号 | FROM brand; | FROM brand; |
错误别名 | price AS '现价' | price AS 现价 |
运算顺序 | price1 + price2 * 0.1 | (price1 + price2) * 0.1 |