DEV Community

Lam Bùi
Lam Bùi

Posted on

T-SQL on Microsoft Fabric -Episode 1: T-SQL Basics in Microsoft Fabric Warehouse: SELECT, WHERE, and ORDER BY

T-SQL on Microsoft Fabric - Episode 1: Mastering Data Retrieval with SELECT, WHERE, and ORDER BY

Learning Goals

In this lesson, you will learn how to:

  • Read data from tables using SELECT
  • Filter rows with WHERE
  • Sort query results with ORDER BY
  • Get familiar with standard T-SQL syntax
  • Practice directly in Microsoft Fabric Warehouse

1. Understanding Database and Schema

In Fabric Warehouse, objects are commonly organized like this:

Warehouse
|
|-- sales
|   |-- Customers
|   |-- Orders
|
|-- hr
|   |-- Employees
|
|-- finance
    |-- Transactions
Enter fullscreen mode Exit fullscreen mode

Schemas help you:

  • Group related tables
  • Manage permissions
  • Organize large systems more effectively

2. Create a Schema

Create a schema for the sales dataset:

CREATE SCHEMA sales;
Enter fullscreen mode Exit fullscreen mode

Check existing schemas:

SELECT *
FROM sys.schemas;
Enter fullscreen mode Exit fullscreen mode

3. Create Tables

Create the Customers table:

CREATE TABLE sales.Customers
(
    CustomerID      INT,
    CustomerName    VARCHAR(100),
    City            VARCHAR(50),
    Country         VARCHAR(50)
);
Enter fullscreen mode Exit fullscreen mode

Create the Orders table:

CREATE TABLE sales.Orders
(
    OrderID         INT,
    CustomerID      INT,
    OrderDate       DATE,
    Amount          DECIMAL(10,2)
);
Enter fullscreen mode Exit fullscreen mode

4. Insert Sample Data

Customers

INSERT INTO sales.Customers
VALUES
(1, 'John Smith', 'New York', 'USA'),
(2, 'Emma Brown', 'Chicago', 'USA'),
(3, 'David Wilson', 'London', 'UK'),
(4, 'Sophia Taylor', 'Manchester', 'UK'),
(5, 'Michael Lee', 'Singapore', 'Singapore');
Enter fullscreen mode Exit fullscreen mode

Orders

INSERT INTO sales.Orders
VALUES
(101, 1, '2026-01-10', 1200.00),
(102, 1, '2026-01-15', 800.00),
(103, 2, '2026-01-20', 2500.00),
(104, 3, '2026-02-01', 500.00),
(105, 5, '2026-02-05', 3200.00);
Enter fullscreen mode Exit fullscreen mode

5. SELECT

Get all columns:

SELECT *
FROM sales.Customers;
Enter fullscreen mode Exit fullscreen mode

Get specific columns:

SELECT CustomerName,
       Country
FROM sales.Customers;
Enter fullscreen mode Exit fullscreen mode

6. Alias

Rename columns in the output:

SELECT CustomerName AS Customer,
       Country AS Nation
FROM sales.Customers;
Enter fullscreen mode Exit fullscreen mode

7. WHERE

Filter rows using conditions.

Customers in the USA:

SELECT *
FROM sales.Customers
WHERE Country = 'USA';
Enter fullscreen mode Exit fullscreen mode

Orders greater than 1000:

SELECT *
FROM sales.Orders
WHERE Amount > 1000;
Enter fullscreen mode Exit fullscreen mode

Orders between 500 and 2000:

SELECT *
FROM sales.Orders
WHERE Amount BETWEEN 500 AND 2000;
Enter fullscreen mode Exit fullscreen mode

Multiple conditions:

SELECT *
FROM sales.Customers
WHERE Country = 'UK'
  AND City = 'London';
Enter fullscreen mode Exit fullscreen mode

Use IN:

SELECT *
FROM sales.Customers
WHERE Country IN ('USA', 'UK');
Enter fullscreen mode Exit fullscreen mode

8. DISTINCT

Return unique values:

SELECT DISTINCT Country
FROM sales.Customers;
Enter fullscreen mode Exit fullscreen mode

9. ORDER BY

Sort query results.

Ascending order:

SELECT *
FROM sales.Orders
ORDER BY Amount;
Enter fullscreen mode Exit fullscreen mode

Descending order:

SELECT *
FROM sales.Orders
ORDER BY Amount DESC;
Enter fullscreen mode Exit fullscreen mode

Sort by multiple columns:

SELECT *
FROM sales.Customers
ORDER BY Country,
         CustomerName;
Enter fullscreen mode Exit fullscreen mode

10. TOP

Return the first N rows.

Top 3 orders:

SELECT TOP 3 *
FROM sales.Orders;
Enter fullscreen mode Exit fullscreen mode

Top 3 highest-value orders:

SELECT TOP 3 *
FROM sales.Orders
ORDER BY Amount DESC;
Enter fullscreen mode Exit fullscreen mode

11. Combining Clauses in a Real Query

Find the top 2 highest orders from customers in the USA:

SELECT TOP 2
       c.CustomerName,
       o.Amount
FROM sales.Customers c
JOIN sales.Orders o
    ON c.CustomerID = o.CustomerID
WHERE c.Country = 'USA'
ORDER BY o.Amount DESC;
Enter fullscreen mode Exit fullscreen mode


References

Top comments (0)