Điều kiện (lập trình máy tính)
Tham khảo chéo hệ thống lựa chọn

Bảng này đề cập đến đặc tả ngôn ngữ gần đây nhất của mỗi ngôn ngữ. Đối với các ngôn ngữ không có thông số kỹ thuật, việc triển khai chính thức mới nhất được đề cập đến.
| Ngôn ngữ lập trình | Structured if> then | Structured if> else | Structured if> else–if | switch–select–case | Arithmetic if | Pattern matching |
| --- | --- | --- | --- | --- | --- | --- |
| Ada | Có | Có | Có | Có | Không | Không |
| Bash shell | Có | Có | Có | Có | Không | Có |
| C, C++ | Có | Có | Không cần thiết | Fall-through | Không | Không |
| C# | Có | Có | Không cần thiết | Có | Không | Không |
| COBOL | Có | Có | Không cần thiết | Có | Không | Không |
| Eiffel | Có | Có | Có | Yes | Không | Không |
| F# | Có | Có | Có | Không cần thiết | Không | Có |
| Fortran 90 | Có | Có | Có | Có | Có | Không |
| Go | Có | Có | Không cần thiết | Có | Không | Không |
| Haskell | Có | Cần thiết | Không cần thiết | Bản mẫu:Yes-no | Không | Có |
| Java | Có | Có | Không cần thiết | Fall-through | Không | Không |
| ECMAScript (JavaScript) | Có | Có | Không cần thiết | Fall-through | Không | Không |
| Mathematica | Có | Có | Có | Có | Không | Có |
| Oberon | Có | Có | Có | Có | Không | Không |
| Perl | Có | Có | Có | Có | Không | Không |
| PHP | Có | Có | Có | Fall-through | Không | Không |
| Pascal, Object Pascal (Delphi) | Có | Có | Không cần thiết | Có | Không | Không |
| Python | Có | Có | Có | Không | Không | Không |
| QuickBASIC | Có | Có | Có | Có | Không | Không |
| Ruby | Có | Có | Có | Có | Không | Không |
| Rust | Có | Có | Có | Không cần thiết | Không | Có |
| Scala | Có | Có | Không cần thiết | Fall-through[cần dẫn nguồn] | Không | Có |
| SQL | Có | Có | Có | Có | Không | Không |
| Swift | Có | Có | Có | Có | Không | Có |
| Visual Basic, classic | Có | Có | Có | Có | Không | Không |
| Visual Basic.NET | Có | Có | Có | Có | Không | Không |
| Windows PowerShell | Có | Có | Có | Fall-through | Không | Không |
^  This refers to pattern matching as a distinct conditional construct in the programming language – as opposed to mere string pattern matching support, such as regular expression support.
1  2  3  4  5 The often-encountered else if in the C family of languages, and in COBOL and Haskell, is not a language feature but a set of nested and independent if then else statements combined with a particular source code layout. However, this also means that a distinct else–if construct is not really needed in these languages.
1  2  In Haskell and F#, a separate constant choice construct is unneeded, because the same task can be done with pattern matching.
^  In a Ruby case construct, regular expression matching is among the conditional flow-control alternatives available. For an example, see this Stack Overflow question.
1 2  SQL has two similar constructs that fulfill both roles, both introduced in SQL-92. A "searched CASE" expression CASE WHEN cond1 THEN expr1 WHEN cond2 THEN expr2 [...] ELSE exprDflt END works like if ... else if ... else, whereas a "simple CASE" expression: CASE expr WHEN val1 THEN expr1 [...] ELSE exprDflt END works like a switch statement. For details and examples see Case (SQL).
^  Arithmetic if is obsolescent in Fortran 90.