Giới thiệu và tổng quan về câu lệnh SQL IF – câu lệnh sql if trong select

Bài viết này khám phá câu lệnh SQL IF và cách sử dụng nó với các ví dụ để viết mã dựa trên điều kiện thời gian thực.

Bạn đang xem : câu lệnh sql if trong select

Bài viết này khám phá hàm hữu ích câu lệnh SQL IF trong SQL Server.

Giới thiệu

Trong cuộc sống thực, chúng tôi đưa ra quyết định dựa trên các điều kiện. Ví dụ, hãy xem các điều kiện sau đây.

  • Nếu tôi nhận được phần thưởng thành tích trong năm nay, tôi sẽ đi nghỉ quốc tế hoặc nếu không thì tôi sẽ đi nghỉ trong nước
  • Nếu thời tiết tốt, tôi sẽ lên kế hoạch đi đạp xe, nếu không tôi sẽ không

Trong những ví dụ này, chúng tôi quyết định tùy theo các điều kiện. Ví dụ, nếu tôi nhận được tiền thưởng thì chỉ tôi đi nghỉ quốc tế, còn lại tôi sẽ đi nghỉ trong nước. Chúng ta cũng cần kết hợp các quyết định dựa trên điều kiện này trong logic lập trình. SQL Server cung cấp khả năng thực thi logic lập trình thời gian thực bằng cách sử dụng SQL IF Statement.

Cú pháp

Trong câu lệnh SQL IF sau đây, nó đánh giá biểu thức và nếu điều kiện là đúng, thì nó thực hiện câu lệnh được đề cập trong khối IF, nếu không thì các câu lệnh trong mệnh đề ELSE sẽ được thực thi.

1

2

3

4

5

6

7

8

9

10

11

NẾU

(

Biểu thức

)

BẮT ĐẦU < / p>

– Nếu điều kiện là ĐÚNG thì thực hiện câu lệnh sau

Đúng

Câu lệnh

;

HẾT

ELSE

BẮT ĐẦU

– Nếu điều kiện là Sai thì hãy thực hiện câu lệnh sau

Sai

Câu lệnh

HẾT

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 SQL IF phải trả về giá trị Boolean để đánh giá
  • Chúng ta cũng có thể chỉ định câu lệnh Select trong biểu thức Boolean, nhưng nó phải được đặt 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 một khối câu lệnh
  • Điều kiện ELSE là tùy chọn để sử dụng

Hãy cùng khám phá Câu lệnh SQL IF bằng các ví dụ.

Ví dụ 1: Câu lệnh IF với giá trị số trong biểu thức Boolean

Trong ví dụ sau, chúng tôi đã chỉ định một giá trị số trong biểu thức Boolean luôn là TRUE. Nó in ra câu lệnh cho câu lệnh If vì điều kiện là đúng.

1

2

3

4

NẾU

(< / p>

1

=

1

)

PRINT

‘Đã thực hiện câu lệnh với điều kiện là TRUE’

;

ELSE

IN

‘Đã thực hiện câu lệnh với điều kiện là FALSE’

;

Nếu chúng ta thay đổi điều kiện trong biểu thức Boolean để trả về FALSE, nó sẽ in ra câu lệnh bên trong ELSE.

Xem Thêm  SQL GIỮA (7 Ví dụ với Ngày, Số trong MS SQL Server và MySQL) - sql cho giữa các ngày

1

2

3

4

NẾU

(< / p>

2

& lt; =

0

)

PRINT

‘Đã thực hiện câu lệnh như điều kiện là ĐÚNG ‘

;

ELSE

IN

< p class = "crayon-s"> ‘Đã thực hiện câu lệnh với điều kiện là FALSE’

;

Ví dụ 2: Câu lệnh IF với một biến trong biểu thức Boolean

Trong ví dụ sau, chúng ta sử dụng một biến trong biểu thức Boolean để thực hiện câu lệnh dựa trên điều kiện. Ví dụ, nếu một sinh viên đạt hơn 80% điểm, anh ta vượt qua một kỳ kiểm tra khác, anh ta bị trượt.

1

2

3

4

5

KHAI BÁO

@

StudentMarks

INT

=

91

;

NẾU

@

StudentMarks

& gt; =

80

IN

‘Đạt, Xin chúc mừng !! ‘

;

< p class = "bút sáp màu- h ">

ELSE

< p class = "crayon-h">

IN

‘Không thành công, hãy thử lại’

;

Ví dụ 3: Nhiều câu lệnh IF với một biến trong biểu thức Boolean

Chúng ta có thể chỉ định nhiều Câu lệnh SQL IF và thực thi câu lệnh tương ứng. Nhìn vào ví dụ sau

  • Nếu một học sinh đạt hơn 90% điểm, nó sẽ hiển thị thông báo từ câu lệnh IF đầu tiên
  • Nếu một học sinh đạt hơn 80% điểm, nó sẽ hiển thị thông báo từ câu lệnh IF thứ hai
  • Nếu không, nó sẽ in thông báo được đề cập trong câu lệnh ELSE

1

2

3

4

5

6

7

KHAI BÁO

@

StudentMarks

INT

=

91

;

NẾU

@

StudentMarks

& gt; =

90

IN

< p class = "crayon-s"> ‘Xin chúc mừng, bạn đã lọt vào danh sách Bằng khen !!’

;

NẾU

@

StudentMarks

& gt ; =

80

IN

‘Xin chúc mừng, bạn đã ở trong danh sách Chia đầu tiên !!’

;

ELSE

IN

‘Không thành công, hãy thử lại’

;

Trong ví dụ này, điểm của sinh viên là 91% đáp ứng các điều kiện cho cả hai câu lệnh SQL IF và nó in ra một thông báo cho cả hai câu lệnh SQL IF.

Chúng tôi không muốn điều kiện thỏa mãn cả hai câu lệnh SQL IF. Chúng ta nên xác định điều kiện một cách thích hợp.

1

2

3

4

5

6

7

DECLARE

@

StudentMarks

INT

=

91

;

NẾU

@

StudentMarks

& gt; =

90

IN

‘Xin chúc mừng, bạn đã lọt vào danh sách Bằng khen !!’

;

NẾU

@

< p class = "crayon-i"> StudentMarks

& gt; =

80

và < / p>

@

StudentMarks

& lt;

90

PRINT

‘Xin chúc mừng, bạn đã ở trong danh sách Chia đầu tiên !!’

;

ELSE

IN

‘Không thành công, hãy thử lại’

< p class = "crayon-sy">;

Trong ảnh chụp màn hình sau, chúng ta có thể thấy điều kiện IF thứ hai là TRUE nếu điểm của học sinh lớn hơn hoặc bằng 80% và nhỏ hơn 90%.

Trong đầu ra, chúng ta có thể thấy như sau

  • Đầu tiên, điều kiện câu lệnh IF là TRUE. Nó in thông báo bên trong khối câu lệnh IF
  • Thứ hai, điều kiện câu lệnh IF là FALSE, nó không in thông báo bên trong khối câu lệnh IF
  • Nó thực hiện câu lệnh ELSE và in thông báo cho nó. Trong trường hợp này, chúng ta có hai câu lệnh SQL IF. Câu lệnh IF thứ hai được đánh giá là false, do đó, nó thực hiện câu lệnh ELSE tương ứng
Xem Thêm  11 cách để căn giữa Div hoặc văn bản trong Div trong CSS - css căn chỉnh div vào giữa

Chúng ta cần phải cẩn thận trong việc chỉ định các điều kiện trong nhiều câu lệnh SQL IF. Chúng tôi có thể nhận được một tập hợp kết quả không mong muốn nếu không sử dụng câu lệnh SQL IF đúng cách.

Ví dụ 4: Câu lệnh IF không có câu lệnh ELSE

Chúng tôi đã chỉ định ở trên rằng câu lệnh Khác là tùy chọn để sử dụng. Chúng ta cũng có thể sử dụng câu lệnh SQL IF mà không cần ELSE.

Trong phần sau, biểu thức đánh giá là TRUE; do đó, nó in ra thông báo.

1

2

3

KHAI BÁO

@

StudentMarks

INT

=

95

;

NẾU

@

StudentMarks

& gt; =

90

IN

‘Xin chúc mừng, bạn nằm trong danh sách Bằng khen !! ‘

;

Nếu biểu thức đánh giá là FALSE, nó không trả về bất kỳ đầu ra nào. Chúng ta nên sử dụng câu lệnh ELSE để nếu một đánh giá không phải là TRUE, chúng ta có thể đặt đầu ra mặc định.

Ví dụ 5: Câu lệnh IF để thực thi các tập lệnh

Trong các ví dụ trên, chúng tôi in một thông báo nếu một điều kiện là TRUE hoặc FALSE. Chúng tôi cũng có thể muốn thực thi các tập lệnh khi một điều kiện được thỏa mãn.

Trong ví dụ sau, nếu số lượng bán hàng lớn hơn 100000000, nó sẽ chọn các bản ghi từ bảng SalesOrderDtails.

Nếu số lượng bán hàng ít hơn 100000000, nó sẽ chọn các bản ghi từ bảng SalesOrderHeader.

1

2

3

4

5

6

7

8

9

DECLARE

@

doanh thu

INT

;

CHỌN

@

doanh thu

=

SUM

(

< p class = "crayon-i"> OrderQty

*

UnitPrice

)

TỪ

[

AdventureWorks2017

]

.

[

Bán hàng

]

.

[

SalesOrderDetail

]

;

< p class = "crayon-line" id = "urvanov-cú pháp-highlighter-62cceb67decf0141364257-4">

NẾU

@

doanh thu

& gt;

100000000

CHỌN

*

TỪ

[

AdventureWorks2017

]

.

[

Bán hàng

]

.

[

SalesOrderDetail

]

;

ELSE

CHỌN

*

TỪ

[

AdventureWorks2017

]

.

[

Bán hàng

]

.

[

SalesOrderHeader

]

;

Ví dụ 6: IF với khối BEGIN và END

Chúng ta có thể sử dụng khối câu lệnh BEGIN và END trong câu lệnh SQL IF. Khi một điều kiện được thỏa mãn, nó sẽ thực thi mã bên trong khối BEGIN và End tương ứng.

1

2

3

4

5

6

7

8

9

DECLARE

@

StudentMarks

INT

=

70

;

NẾU

@

StudentMarks

& gt; =

90

BẮT ĐẦU

IN

‘Xin chúc mừng, bạn đã lọt vào danh sách Bằng khen !!’

;

HẾT

;

ELSE

BẮT ĐẦU

IN

‘Không thành công, hãy thử lại’

;

HẾT < / p>

;

Chúng ta cũng có thể chỉ định nhiều câu lệnh với câu lệnh SQL IF và khối BEGIN END. Trong truy vấn sau, chúng tôi muốn in một thông báo từ hai câu lệnh in khi một điều kiện được thỏa mãn.

  • Lưu ý : Chúng ta nên có một câu lệnh END với khối BEGIN tương ứng.
Xem Thêm  PHP 5.6 Full php.ini Text - php 5.6

1

2

3

4

5

6

7

8

9

10

11

KHAI BÁO

@

StudentMarks

INT

=

70

;

NẾU

@

StudentMarks

& gt; =

90

BẮT ĐẦU

< p class = "crayon-h">

IN

‘Chúc mừng ons, Bạn đang ở trong danh sách Bằng khen !! ‘

;

In

< p class = "crayon-s"> ‘Câu lệnh thứ hai.’

HẾT

;

ELSE

BẮT ĐẦU

IN

‘Không thành công, hãy thử lại’

;

In

‘Câu lệnh ELSE thứ hai’

HẾT

; < / p>

Kết luận

Trong bài viết này, chúng ta đã khám phá câu lệnh IF trong SQL và cách sử dụng nó với các ví dụ. Chúng ta có thể viết mã dựa trên điều kiện thời gian thực bằng cách sử dụng câu lệnh SQL IF. Nếu bạn có nhận xét hoặc câu hỏi, vui lòng để lại chúng trong phần bình luận bên dưới.


Xem thêm những thông tin liên quan đến chủ đề câu lệnh sql if trong select

Các câu lệnh select nâng cao – SQL server

  • Tác giả: FIT HAUI
  • Ngày đăng: 2019-02-18
  • Đánh giá: 4 ⭐ ( 5183 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Các câu lệnh select nâng cao, SQL server, select, update, insert

Tổng hợp những câu lệnh SQL cơ bản

  • Tác giả: topdev.vn
  • Đánh giá: 4 ⭐ ( 8509 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Các phiên bản của SQL Server: Enterprise, Personal, Desktop, Developer,.. Các bộ phận của SQL Server: Enterprise Manager, Query Analyzer, Books Online,..

Sử dụng If trong SQL như thế nào ?

  • Tác giả: www.giaiphapexcel.com
  • Đánh giá: 4 ⭐ ( 5103 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Xin chào anh chị,em có câu lệnh như sau:

    SELECT MAX (idMax) FROM (SELECT RIGHT(s.ID,3) as idMax ,s.Item,s.Name FROM ODER s WHERE s.XDATE like ‘%20220405%’…

Câu lệnh SELECT trong MySQL

  • Tác giả: comdy.vn
  • Đánh giá: 5 ⭐ ( 3963 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong hướng dẫn này, bạn sẽ học cách sử dụng dạng cơ bản của câu lệnh SELECT trong MySQL để truy xuất dữ liệu từ một bảng.

MySQL & PHP – Trở thành Lập trình viên PHP

  • Tác giả: laptrinhvienphp.com
  • Đánh giá: 5 ⭐ ( 6433 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong hướng tự học PHP và MySQL này, bạn sẽ tìm hiểu cách sử dụng câu lệnh SELECT để chọn bản ghi từ bảng MySQL bằng PHP.

Làm cách nào để tôi thực hiện IF IF THEN trong SQL CHỌN?

  • Tác giả: qastack.vn
  • Đánh giá: 3 ⭐ ( 7855 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [Tìm thấy giải pháp!] Câu CASElệnh gần nhất với IF trong SQL và được hỗ trợ trên tất cả các…

IIF – Hàm chọn lựa

  • Tác giả: www.sql.edu.vn
  • Đánh giá: 5 ⭐ ( 7019 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hàm IIF trong Microsoft SQL Server trả về True nếu biểu thức luận lý là đúng, trả về False nếu biểu thức luận lý là sai.

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình