微软的Fabric平台提供了一个完整的数据仓库解决方案,让数据分析师能够用熟悉的T-SQL语句直接查询数据。这一期的内容聚焦于最基础的查询操作——SELECT、WHERE和ORDER BY——这些是你日常工作中使用频率最高的命令。
在Fabric数据仓库里,数据的组织方式遵循清晰的层级结构。最顶层是仓库本身,下面可以划分不同的逻辑分组,比如销售、人力资源和财务等业务领域。每个分组内再存放具体的表对象,像是客户信息表和订单记录表。这种设计让数据管理变得直观,团队成员能快速定位到自己需要的表。
模式扮演了命名空间和权限控制的双重角色。创建模式只需要一条简单的CREATE SCHEMA语句,比如为销售数据集建立sales模式。想查看当前仓库里已经存在哪些模式,可以查询sys.schemas系统视图。这个视图会列出所有已定义的模式名称,帮你了解整个仓库的组织结构。
建表的过程同样直接。以Customers表为例,用CREATE TABLE语句指定列名和数据类型即可——CustomerID用整数类型,CustomerName用可变长度字符类型,城市和国家字段也类似处理。Orders表的创建方式完全一样,包含订单编号、客户编号、订单日期和金额等字段。表结构定义好之后,下一步就是往里面填充数据。
INSERT语句支持批量插入多条记录,VALUES子句里可以列出多组数据,每组用括号包裹,组之间用逗号分隔。Customers表插入了五条记录,涵盖了来自纽约、芝加哥、伦敦、曼彻斯特和新加坡的客户。Orders表同样插入了五条订单,金额从500到3200不等,日期分布在2026年1月到2月之间。这种批量插入的方式比逐条插入效率高得多。
数据入库之后,SELECT语句就该登场了。SELECT *会返回表里的所有列和所有行,这是最基础的查询形式。但在实际工作中,你通常只需要部分列的数据,这时候可以在SELECT后面明确指定要查询的列名,比如只查客户名称和所属国家。Fabric还支持用AS关键字给输出列起别名,让查询结果的可读性更好,比如把CustomerName显示成Customer,Country显示成Nation。
WHERE子句让查询具备了筛选能力。你想看美国客户的数据?加一个WHERE Country = 'USA'的条件就行。想看金额大于1000的订单?WHERE Amount > 1000马上过滤出来。BETWEEN操作符能圈定一个范围,比如找出金额在500到2000之间的订单记录。多个条件可以用AND组合,实现更精确的筛选——英国且城市为伦敦的客户,两个条件同时满足才会出现在结果里。
IN操作符提供了另一种筛选方式。当你要查多个离散值的时候,不需要用多个OR条件,直接写WHERE Country IN ('USA', 'UK')就能把美国和英国的客户一次性筛选出来。DISTINCT关键字可以去除重复值,比如想知道客户来自哪些不同的国家,SELECT DISTINCT Country瞬间返回去重后的国家列表。
排序用ORDER BY实现。默认情况下按升序排列,把ORDER BY Amount加在查询末尾,订单就会按照金额从小到大的顺序显示。ORDER BY可以跟多个排序键,也可以指定升序或降序方向。这些基础操作虽然简单,但组合起来就能完成绝大多数日常查询需求,也是后续学习更复杂查询的基石。
热门跟贴