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 : sql select với câu lệnh if

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 đượ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 IF trong SQL 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

)

IN

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

;

ELSE

IN

‘Đã thực thi 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 câu lệnh bên trong ELSE.

1

2

3

4

IF

(< / 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 thi 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 tôi 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.

Xem Thêm  Câu lệnh if trong Python với nhiều điều kiện (và + hoặc) - trăn và hoặc &

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

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

;

NẾU

@

StudentMarks

& gt; =

80

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’

;

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

IN

‘Xin chúc mừng, bạn đang ở 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

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

Ở trên, chúng tôi đã chỉ rõ 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.

Xem Thêm  Cách đọc tệp văn bản bằng Python (Python mở) • datagy - đọc tệp văn bản python

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 số bán hàng

=

SUM

(

< p class = "crayon-i"> OrderQty

*

UnitPrice

)

TỪ

[

AdventureWorks2017

]

.

[

Bán hàng

]

.

[

SalesOrderDetail

]

;

< p class = "crayon-line" id = "urvanov-cú pháp-highlighter-62b519a104b2a798731941-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

]

.

< p class = "crayon-sy"> [

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.

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

< p class = "crayon-k"> IN

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

;

In

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

HẾT

;

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  80 Mẫu trang web đơn giản miễn phí tốt nhất năm 2022 - các mẫu html đơn giản để thực hành


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

SQL Server Programming Part 5 – IF Statements

  • Tác giả: WiseOwlTutorials
  • Ngày đăng: 2012-12-03
  • Đánh giá: 4 ⭐ ( 5320 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: If you’d like to help fund Wise Owl’s conversion of tea and biscuits into quality training videos you can click this link https://www.wiseowl.co.uk/donate?t=1 to make a donation. Thanks for watching!

    By Andrew Gould

    https://www.wiseowl.co.uk – IF statements in SQL allow you to check if a condition has been met and, if so, to perform a sequence of actions. This video teaches you everything from the basic syntax of IF statements, including how to use the ELSE clause and perform multiple actions using a BEGIN and END block. We’ll also teach you how to nest your IF statements, including a few useful tips on how to make your nested IFs readable!

    You can see more examples of IF in written form here:
    https://www.wiseowl.co.uk/blog/s340/if-else.htm

    You can download the script to create the Movies database used in this video at the following link:
    https://www.wiseowl.co.uk/files/execise-question-files/qf-898.zip

    You can see the range of resources and courses we offer in SQL Server here:
    https://www.wiseowl.co.uk/sql/

    Visit www.wiseowl.co.uk for more online training resources in Microsoft Excel, Microsoft Access, Microsoft PowerPoint, Microsoft Word, Microsoft Project, Microsoft Publisher, Microsoft Visio, SQL Server, Reporting Services, Analysis Services, Visual Studio, ASP.NET, VB.NET, C and more!

[Tự học SQL] Tìm hiểu về SELECT INTO,INSERT INTO và CASE với SELECT trong SQL

  • Tác giả: cafedev.vn
  • Đánh giá: 4 ⭐ ( 1645 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bài này cafedev chia sẻ cho ace về cách sử dụng SELECT INTO,INSERT INTO và CASE trong SQL để lấy ra dữ liệu theo ý muốn của mình.

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á: 5 ⭐ ( 6225 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…

Lệnh IF…ELSE trong SQL Server

  • Tác giả: nq.com.vn
  • Đánh giá: 4 ⭐ ( 1996 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

SQL Server IF… Câu lệnh điều kiện ELSE: Ví dụ về truy vấn chọn T-SQL

  • Tác giả: vi.on2vhf.be
  • Đánh giá: 5 ⭐ ( 4773 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Tại sao bạn cần câu lệnh có điều kiện? Trong cuộc sống thực, bạn thực hiện nhiều hành động phụ thuộc vào kết quả của một số hoạt động hoặc tình huống khác. Một số ví dụ trong thời gian thực là: Nếu ngày mai trời mưa

Lệnh IF…ELSE trong SQL Server

  • Tác giả: final-blade.com
  • Đánh giá: 5 ⭐ ( 7112 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

IIF – Hàm chọn lựa

  • Tác giả: www.sql.edu.vn
  • Đánh giá: 3 ⭐ ( 9661 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

By ads_php