小木的学习日记-SQL查询

草稿:

比如这是一个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关键字可为计算结果设置列标题
  • 表达式注意:确保分母不为零,否则会引发计算错误
五、格式规范建议
  1. 缩进规范
-- 紧凑写法
SELECT id FROM orders;

-- 推荐换行写法
SELECT
    id,
    product_name
FROM
    orders;

  1. 关键字顺序
-- 正确顺序
SELECT column1 
FROM table1 
WHERE condition;

-- 错误示例(违反语法规则)
FROM table1 SELECT column1;

六、常见错误排查表
错误类型示例修正方案
缺少逗号SELECT name idSELECT name, id
中文符号FROM brand;FROM brand;
错误别名price AS '现价'price AS 现价
运算顺序price1 + price2 * 0.1(price1 + price2) * 0.1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值