logo

SQL Server SE ALTRO

L'istruzione IF fa parte della funzione del flusso di controllo in SQL Server. Di solito, in vari linguaggi di programmazione si tratta di una dichiarazione decisionale restituisce un valore in base alle condizioni specificate . Questa istruzione esegue il codice scritto nel blocco IF quando la condizione data risulta vera e quando la condizione risulta falsa, verrà eseguita l'istruzione ELSE.

La dichiarazione SE

Di seguito è riportata la sintassi che illustra l'utilizzo di questa istruzione in SQL Server:

 IF boolean_expression BEGIN { statement_block } END 

Nella sintassi precedente, il blocco_istruzione nel INIZIO...FINE il blocco viene eseguito quando il espressione_booleana è soddisfatto della condizione. Altrimenti questo blocco viene saltato e il controllo del programma viene spostato nell'istruzione successiva a FINE parola chiave. Dovremmo sapere che se l'espressione contiene a SELEZIONARE dichiarazione, dobbiamo farlo racchiuderli tra parentesi .

Esempio

Vediamo l'esempio per comprendere l'istruzione IF senza il blocco ELSE. L'esempio seguente visualizzerà il risultato quando la condizione è soddisfatta. Altrimenti il ​​controllo del programma si sposta all'istruzione dopo la parola chiave END, se presente.

 DECLARE @Marks INT = 65 ; IF @marks >= 45 BEGIN PRINT 'Congratulations! You pass the Examination'; END 

L'esecuzione dell'istruzione fornirà l'output seguente:

sottostringa di stringa
SQL Server SE ALTRO

Ora lo dimostreremo di seguito ' Alunno' tabella contenente i seguenti dati:

SQL Server SE ALTRO

Di seguito è riportato un altro esempio che ottiene il file punteggio totale di uno studente selezionato dal ' Alunno' tabella nel database di esempio e quindi stampa a Messaggio se è maggiore di 400 .

 BEGIN DECLARE @Total_Marks INT; SELECT @Total_Marks = total_marks FROM Student WHERE age>25; SELECT @Total_Marks; IF @Total_Marks > 400 BEGIN PRINT 'Congratulations! You pass the Examination'; END END 

Otterremo l'output seguente:

SQL Server SE ALTRO

Se vogliamo vedere il messaggio di output sopra, dovremmo fare clic su Messaggi scheda:

SQL Server SE ALTRO

L'istruzione IF-ELSE

Nello scenario del mondo reale, dobbiamo eseguire alcune azioni ogni volta che la condizione nell'istruzione IF è VERA o FALSA. In questo caso, l'istruzione IF…ELSE è utile. Questa istruzione esegue il blocco di istruzioni ELSE quando la condizione nella clausola IF viene valutata FALSE.

Di seguito è riportata la sintassi che illustra l'utilizzo dell'istruzione IF ELSE in SQL Server :

 IF expression BEGIN Statement block -- It executes when the IF clause expression is TRUE. END ELSE BEGIN Statement block -- It executes when the IF clause expression is FALSE. END 

Esempio

Vediamo l'esempio per comprendere l'istruzione IF con il blocco ELSE. L'esempio seguente visualizzerà il messaggio ' Congratulazioni! Superi l'esame ' quando la condizione IF è soddisfatta. Altrimenti, visualizza ' Hai fallito! La prossima volta sarai più fortunato '.

 DECLARE @Marks INT; SET @Marks = 65; IF @marks <45 begin print 'congratulations! you pass the examination'; end else 'you are failed! better luck next time'; < pre> <p>Executing the statement will give the below output. Here, the <strong>marks</strong> variable is <strong>65</strong> , and the <strong>condition (65<45)< strong> is not satisfied. Therefore, the message inside the ELSE block is displayed:</45)<></strong></p> <img src="//techcodeview.com/img/sql-server-tutorials/49/sql-server-if-else-5.webp" alt="SQL Server IF ELSE"> <p>We will get this output because the condition <strong>(65&gt;45)</strong> is satisfied. Therefore, the message inside the IF block is displayed:</p> <img src="//techcodeview.com/img/sql-server-tutorials/49/sql-server-if-else-6.webp" alt="SQL Server IF ELSE"> <p>Now, we will demonstrate the IF ELSE statement on the above &apos; <strong>Student&apos;</strong> table. In this example, we are going to check whether the student <strong>total marks</strong> is <strong>greater than or equal to 400</strong> or not as follows:</p> <ul> <li>When the IF condition is TRUE, we will get the student records whose total marks are greater than or equal to 550.</li> <li>If the condition is FALSE, we will get the student records whose total marks are less than 550.</li> </ul> <p>Here is the program:</p> <pre> DECLARE @Marks INT; SET @Marks = 600 ; IF @Marks &gt;= 550 BEGIN SELECT id, name, gender, age, total_marks FROM Student WHERE total_marks &gt;= 550 ORDER BY age ASC END ELSE BEGIN SELECT id, name, gender, age, total_marks FROM Student WHERE total_marks <550 order by age asc end < pre> <p>In this code, we have specified the <strong>@Marks</strong> variable to <strong>600</strong> , and the condition (600 &gt;= 550) is satisfied. Therefore, we will get the output where student records whose total marks are greater than or equal to 550 are displayed.</p> <img src="//techcodeview.com/img/sql-server-tutorials/49/sql-server-if-else-7.webp" alt="SQL Server IF ELSE"> <p>If we changed the <strong>@Marks</strong> variable to <strong>500</strong> and the condition (500 &gt;= 550) becomes false. Therefore, we will get the output where student records whose total marks are less than 550 are displayed.</p> <img src="//techcodeview.com/img/sql-server-tutorials/49/sql-server-if-else-8.webp" alt="SQL Server IF ELSE"> <h2>Nested IF ELSE Statement</h2> <p>Unlike other programming languages, we can nest an IF...ELSE statement inside another IF...ELSE statement in SQL Server. Let us demonstrate it with the following example:</p> <pre> DECLARE @age INT; SET @age = 6; IF @age <18 50 print 'you are underage'; else begin if @age < below 50'; senior cetizen'; end; pre> <p>In this example, we are going to check whether the <strong>age is underage, below 50, or senior citizen</strong> as follows:</p> <ul> <li>If the value of the <strong>@age</strong> variable is below <strong>18</strong> , it will print the person is <strong>underage</strong> .</li> <li>If the condition is FALSE, the ELSE part will be executed that has a nested IF&#x2026;ELSE.</li> <li>If the value of the <strong>@age</strong> variable is under <strong>50</strong> , it will print <strong>below 50</strong> . Finally, if no condition is satisfied, it will print <strong>senior citizens</strong> .</li> </ul> <p>Here is the result:</p> <img src="//techcodeview.com/img/sql-server-tutorials/49/sql-server-if-else-9.webp" alt="SQL Server IF ELSE"> <p>This article gives a complete overview of how to use the SQL Server IF ELSE statement. Here we have learned:</p> <ul> <li>Variables are objects that serve as placeholders.</li> <li>The keyword BEGIN will be used to start a statement block, and the END keyword must be used to close it.</li> <li>The use of ELSE in an IF... ELSE statement is optional.</li> <li>It&apos;s also possible to nest an IF...ELSE statement inside another IF...ELSE statement. However, nesting an IF statement within another statement is bad practice because it makes the code difficult to read and maintain.</li> </ul> <hr></18></pre></550></pre></45>