Làm cách nào để sử dụng các điều kiện trong SQL Server?

SQL Server có khả năng duy nhất cho phép bạn thực thi logic theo chương trình thời gian thực trên các giá trị trong truy vấn của bạn. Dựa trên những đánh giá logic đó, bạn có thể tạo các giá trị khác nhau như một phần của tập dữ liệu được trả về

Sử dụng câu lệnh CASE

Điều này được thực hiện dễ dàng nhất trong tất cả các phiên bản của SQL Server bằng cách sử dụng câu lệnh

SELECT
  books.*
FROM
  books
8, hoạt động như một biểu thức logic
SELECT
  books.*
FROM
  books
9 và trả về các giá trị khác nhau tùy thuộc vào kết quả

Trong ví dụ dưới đây, chúng tôi muốn trả về một cột

SELECT
  books.*
FROM
  books
0 bổ sung chỉ định xem cuốn sách của chúng tôi diễn ra ở Trung địa hay Trái đất cũ thông thường

SELECT
  CASE
    WHEN
      books.title = 'The Hobbit'
        THEN
          'Middle-earth'
    WHEN
      books.primary_author = 'Tolkien'
        THEN
          'Middle-earth'
    ELSE
      'Earth'
  END AS locale,
  books.*
FROM
  books

Trước khi chúng ta xem xét khía cạnh

SELECT
  books.*
FROM
  books
8 đặc biệt của câu lệnh này, hãy tạm thời loại bỏ
SELECT
  books.*
FROM
  books
8 để nhận thấy rằng bề ngoài đây là một câu lệnh
SELECT
  books.*
FROM
  books
0 cực kỳ đơn giản.

SELECT
  books.*
FROM
  books

Do đó, hãy kiểm tra xem phần

SELECT
  books.*
FROM
  books
8 được cấu trúc như thế nào và chúng ta đang thực hiện hành vi logic nào

CASE
  WHEN
    books.title = 'The Hobbit'
      THEN
        'Middle-earth'
  WHEN
    books.primary_author = 'Tolkien'
      THEN
        'Middle-earth'
  ELSE
    'Earth'
END AS locale

Để bắt đầu, chúng tôi khởi tạo câu lệnh

SELECT
  books.*
FROM
  books
8 sau đó chỉ định trong điều kiện nào [
SELECT
  books.*
FROM
  books
3] câu lệnh
SELECT
  books.*
FROM
  books
8 của chúng tôi sẽ đánh giá kết quả. Trong ví dụ này, chúng tôi đang kiểm tra
SELECT
  books.*
FROM
  books
5 và
SELECT
  books.*
FROM
  books
6; . ' Nếu không có trường nào phù hợp với tìm kiếm của chúng tôi, thay vào đó, chúng tôi sẽ trả về giá trị của 'Earth. ’

Để sắp xếp lại logic dưới dạng câu lệnh mã giả ________ 19, chúng ta chỉ cần yêu cầu SQL đánh giá

________số 8

Cuối cùng, điều quan trọng cần nhớ là câu lệnh

SELECT
  books.*
FROM
  books
8 phải luôn được thêm vào cuối cùng với câu lệnh
CASE
  WHEN
    books.title = 'The Hobbit'
      THEN
        'Middle-earth'
  WHEN
    books.primary_author = 'Tolkien'
      THEN
        'Middle-earth'
  ELSE
    'Earth'
END AS locale
0 phù hợp. Trong ví dụ trên, chúng tôi cũng đổi tên giá trị kết quả được trả về thành
SELECT
  books.*
FROM
  books
0, mặc dù đó chắc chắn là tùy chọn

Sử dụng Hàm IIF

Nếu bạn đang sử dụng phiên bản SQL hiện đại hơn, sẽ rất hữu ích khi biết rằng SQL Server 2012 đã giới thiệu hàm

CASE
  WHEN
    books.title = 'The Hobbit'
      THEN
        'Middle-earth'
  WHEN
    books.primary_author = 'Tolkien'
      THEN
        'Middle-earth'
  ELSE
    'Earth'
END AS locale
2 rất tiện dụng.
CASE
  WHEN
    books.title = 'The Hobbit'
      THEN
        'Middle-earth'
  WHEN
    books.primary_author = 'Tolkien'
      THEN
        'Middle-earth'
  ELSE
    'Earth'
END AS locale
2 là một phương pháp tốc ký để thực hiện câu lệnh
CASE
  WHEN
    books.title = 'The Hobbit'
      THEN
        'Middle-earth'
  WHEN
    books.primary_author = 'Tolkien'
      THEN
        'Middle-earth'
  ELSE
    'Earth'
END AS locale
4/
SELECT
  books.*
FROM
  books
8 và trả về một trong hai giá trị, tùy thuộc vào việc đánh giá kết quả

Tái cấu trúc ví dụ trên của chúng tôi để sử dụng

CASE
  WHEN
    books.title = 'The Hobbit'
      THEN
        'Middle-earth'
  WHEN
    books.primary_author = 'Tolkien'
      THEN
        'Middle-earth'
  ELSE
    'Earth'
END AS locale
2 khá đơn giản

SELECT
  books.*
FROM
  books
4

Với hàm

CASE
  WHEN
    books.title = 'The Hobbit'
      THEN
        'Middle-earth'
  WHEN
    books.primary_author = 'Tolkien'
      THEN
        'Middle-earth'
  ELSE
    'Earth'
END AS locale
2, chúng tôi thay thế phần lớn rất nhiều cú pháp đường từ câu lệnh
SELECT
  books.*
FROM
  books
8 bằng một vài dấu phẩy đơn giản để phân biệt các đối số của chúng tôi

Tất cả đã nói, cả

SELECT
  books.*
FROM
  books
8 và
CASE
  WHEN
    books.title = 'The Hobbit'
      THEN
        'Middle-earth'
  WHEN
    books.primary_author = 'Tolkien'
      THEN
        'Middle-earth'
  ELSE
    'Earth'
END AS locale
2 đều hoàn thành cùng một công việc, nhưng nếu được lựa chọn,
CASE
  WHEN
    books.title = 'The Hobbit'
      THEN
        'Middle-earth'
  WHEN
    books.primary_author = 'Tolkien'
      THEN
        'Middle-earth'
  ELSE
    'Earth'
END AS locale
2 thường sẽ đơn giản hơn nhiều để sử dụng

Làm cách nào để sử dụng điều kiện NẾU trong truy vấn CHỌN trong SQL Server?

Cách sử dụng NẾU. .
CHỌN TRƯỜNG HỢP KHI sách. title = 'Người Hobbit' RỒI 'Trung địa' KHI sách. .
TRƯỜNG HỢP KHI sách. title = 'Người Hobbit' RỒI 'Trung địa' KHI sách. .
NẾU tiêu đề == 'Người Hobbit' HOẶC chính_tác giả == 'Tolkien' THÌ TRẢ LẠI 'Middle-earth' HOẶC TRẢ LẠI 'Earth' END
CHỌN IIF[ sách

Làm cách nào để sử dụng điều kiện IF trong truy vấn chèn trong SQL Server?

Chúng ta có thể hiểu Câu lệnh SQL IF bằng cách sử dụng lưu đồ sau. .
Điều kiện trong Câu lệnh IF của SQL sẽ trả về giá trị Boolean để đánh giá
Chúng ta cũng có thể chỉ định một câu lệnh Select trong một biểu thức Boolean, nhưng nó phải nằm trong dấu ngoặc đơn
Chúng ta có thể sử dụng BEGIN và END trong Câu lệnh IF để xác định khối câu lệnh

SQL trong điều kiện hoạt động như thế nào?

Toán tử IN cho phép bạn chỉ định nhiều giá trị trong mệnh đề WHERE . Toán tử IN là cách viết tắt của nhiều điều kiện OR.

Chúng ta có thể sử dụng hoặc điều kiện trong SQL không?

Toán tử AND và OR được sử dụng để lọc các bản ghi dựa trên nhiều điều kiện. Toán tử AND hiển thị một bản ghi nếu tất cả các điều kiện được phân tách bằng AND là TRUE. Toán tử OR hiển thị một bản ghi nếu bất kỳ điều kiện nào được phân tách bằng OR là TRUE

Chủ Đề