Home

Expressions SQL

 

Comparaisons Logiques

 

Introduction

 
Pour vos bases de données, vous pouvez créer des expressions qui représentent une combinaison de valeurs, les variables et les opérateurs. Pour prendre en charge les expressions, Transact-SQL fournit aux opérateurs autres ou en plus de ceux qu'on a vus dans la leçon 2.

Une comparaison est une opération booléenne qui produit une véritable ou un résultat faux, en fonction des valeurs sur lesquelles la comparaison est effectuée. Une comparaison est effectuée entre deux valeurs du même type ; par exemple, vous pouvez comparer deux nombres, deux caractères ou les noms des deux villes. Pour prendre en charge les comparaisons, Transact-SQL fournit tous les opérateurs nécessaires.

Opérateur d'égalité =

Pour comparer deux valeurs pour l'égalité, utilisez l'opérateur =. Sa formule est la suivante :

Valeur1 = Value2

L'opération de l'égalité est utilisée pour savoir si les deux valeurs sont les mêmes. De la formule ci-dessus, l'interpréteur SQL serait comparer valeur1 et Value2. Si valeur1 et Value2 sont les mêmes, la comparaison génère un résultat TRUE. S'ils sont différents, la comparaison rend FALSE.

L'opération de l'égalité peut être illustrée comme suit :

Equalilty Flowchart

<>Non égal

Par opposition à l'égalité, à savoir si les deux valeurs ne sont pas égales, utilisez l'opérateur de <>. Sa formule est la suivante :

Valeur1 <>Value2

Le <>est un opérateur binaire (comme tous les opérateurs logiques) qui est utilisé pour comparer deux valeurs. Les valeurs peuvent provenir de deux variables comme dans Variable1 <>Variable2. Lors de la comparaison entre les valeurs, si les deux valeurs différentes, la comparaison génère un vrai. Dans le cas contraire, la comparaison rend FALSE ou une valeur null.

Il peut être illustré comme suit :

Flowchart: Not Equal

Notez que le <>d'opérateur non égal est l'opposé à l'opérateur d'égalité =.

Moins de <

Pour savoir si une valeur est inférieure à un autre, utilisez le < opérateur. Sa formule est la suivante :

Valeur1 <Value2

La valeur détenue par valeur1 est comparée à celle de Value2. Comme il serait effectué avec les autres opérations, la comparaison peut être effectuée entre deux variables, comme dans Variable1 < Variable2. Si la valeur détenue par valeur1 est inférieure à celui des Value2, la comparaison génère un résultat true ou positif.

Le moins que l'opérateur "<" peut être illustré comme suit :

Flowchart: Less Than

Inférieur à ou égal < =

L'égalité et le moins que les opérateurs peuvent être combinées pour comparer deux valeurs. Cela permet de savoir si deux valeurs sont identiques ou si le premier est moins que la seconde. L'opérateur utilisé est < = et sa formule est :

Valeur1 < =Value2

Si valeur1 et Value2 sont les mêmes, le résultat est true ou positive. Si l'opérande de gauche, dans ce cas valeur1, contient une valeur inférieure à la deuxième opérande, dans ce cas Value2, le résultat est toujours vrai. Si la valeur de valeur1 est strictement supérieure à celui de la valeur, la comparaison génère un résultat FALSE.

Le fonctionnement de <= peut être illustré comme suit :

Flowchart

Supérieur À >

Pour savoir si une valeur est strictement supérieure à un autre, vous pouvez utiliser le > opérateur. Sa formule est la suivante :

Valeur1 > Value2

Les deux opérandes, dans ce cas valeur1 et Value2, peuvent être variables ou l'opérande gauche peut être une variable tandis que l'opérande de droite est une constante. Si la valeur dans la partie gauche de la > opérateur est supérieure à la valeur sur le côté droit ou une constante, la comparaison génère une valeur true ou positive. Dans le cas contraire, la comparaison rend false ou null.

L'opérateur  > peut être illustré comme suit :

Greater Than

Notez que le > opérateur est l'opposé à < =.

 

Supérieur ou égal À > =

Le supérieur et les opérateurs de l'égalité peuvent être combinées pour produire un opérateur comme suit: > =. Il s'agit de l'opérateur "supérieure ou égale à". Sa formule est la suivante :

Valeur1 > = Value2

La comparaison est effectuée sur les deux opérandes : valeur1 et Value2. Si la valeur de valeur1 et celui de Value2 sont les mêmes, la comparaison génère une valeur true ou positive. Si la valeur de l'opérande de gauche est supérieure à celle de l'opérande de droite, la comparaison produit true ou positif également. Si la valeur de l'opérande de gauche est strictement inférieur à la valeur de l'opérande de droite, la comparaison génère un résultat false ou null. Cela peut être illustré comme suit :

Flowchart: Greater Than Or Equal To

Notez que le > = opérateur est l'opposé à <.

Instructions conditionnelles

  

Introduction

Une instruction de condition est une expression que vous formuler de le pour évaluer. La plupart du temps, l'instruction est écrit afin que, lors de l'évaluation, elle peut produire un résultat true ou false, puis, en fonction des résultats, vous pouvez prendre des mesures. Une condition est généralement écrit aussi simples que possible pour la rendre clair pour vous et l'interpréteur SQL. Bien que l'interpréteur obtient jamais confuse, si vous créez une instruction difficile, il est possible que vous receviez un résultat imprévisible.

Dans les sections suivantes, nous allons examiner les mots-clés et les formules qui Transact-SQL fournit pour vous aider à formuler claires les expressions.Expressions commencent généralement par un mot-clé, suivi de l'expression elle-même.Après l'expression, vous pouvez indiquer l'interpréteur quoi faire. L'instruction peut apparaître comme suit :

Mot-clé expression instruction

COMMENCER À FIN...

Avec la formule ci-dessus, nous avons toujours vous préviendra quel mot-clé, vous pouvez utiliser, pourquoi et quand. Après l'expression, vous pouvez écrire l'instruction dans une seule ligne. Il s'agit de l'instruction qui seraient exécutées si/lorsque l' expression de notre formule est satisfaite. Dans la plupart des cas, vous aurez besoin plus d'une ligne de code pour spécifier la déclaration.

Comme il arrive, l'interpréteur considère tout ce qui vient après la déclaration comme une unité, mais uniquement la ligne immédiatement après l' expression. Pour indiquer que votre déclaration couvre plusieurs lignes, démarrer avec le mot-clé BEGIN. Ensuite, vous devez utiliser le mot-clé END pour indiquer où se termine la déclaration. Dans ce cas, la formule d'une instruction conditionnelle semblerait comme suit :

Expression de mot-clé
        BEGIN déclaration ligne 1 déclaration ligne déclaration 2 ligne n
        END

Vous pouvez toujours utiliser la combinaison de BEGIN... END même si votre déclaration couvre uniquement une seule ligne :

Expression de mot-clé
         BEGIN déclaration
         END

À l'aide de la combinaison de BEGIN... END rend votre code plus facile à lire car il indique clairement le début et la fin de l' instruction.

Si une condition est true

La comparaison principale, que vous pouvez effectuer sur une instruction est probablement pour savoir si elle est true. Cette opération est effectuée à l'aide d'une instruction IF dans Transact-SQL. Sa formule de base est la suivante :

IF une condition  	Instruction

Lors de la création d'une instruction IF, assurez-vous d'abord que vous fournissez une expression de condition qui peut être évaluée à produire true ou false. Pour créer cette condition, vous pouvez utiliser des variables et l'opérateur de comparaison logique examinés ci-dessus.

Lorsque l'interpréteur exécute cette instruction, il examine tout d'abord la condition de l'évaluer à un résultat true. Si la condition produit true, l'interpréteur exécute l' instruction. Voici un exemple :

DECLARE @ DateLoué sous datetime2, @CurrentDate As datetime2
        SET @ DateLoué = N ' 1996/10/04 '
        SET @ CurrentDate = N ' 2007/04/11 '
        IF @ DateLoué < @ CurrentDate
        PRINT N'You ont l'expérience requise pour une nouvelle promotion dans cette tâche ' ;

Cela donnerait :

IF

SI... ELSE

La condition IF, que nous avons utilisé ci-dessus est appropriée lorsque vous avez besoin uniquement de savoir si une expression est vraie. Il n'y a rien à faire dans les autres alternatives. Examinez le code suivant :

DECLARE @DateLoué sous datetime2,
         @CurrentDate As datetime2
        SET @DateLoué = N ' 1996/10/04 '
        SET @CurrentDate = N ' 2007/04/16 '
        IF @DateLoué > @CurrentDate
        PRINT 'Vous êtes l'expérience requise pour une nouvelle promotion'
        GO

Cela donnerait :

IF...ELSE

Notez que, dans le cas où l'expression d'examiner génère un résultat faux, il n'y a rien à faire. Parfois cela se produira.

AFFAIRE... LORSQUE... PUIS

Le mot-clé CASE est utilisé comme un opérateur conditionnel qui considère comme une valeur, il examine et agit sur une option en fonction de la valeur. La formule de l'instruction CASE est la suivante :

CASE expression
WHEN valeur1
    THEN résultats
    WHEN Value2
        THEN résultats
        WHEN Value_n THEN résultats
        END

Dans l'exemple suivant, une lettre qui représente un étudiant est fournie. Si la lettre m ou M, une chaîne est créée comme homme. Si la valeur est fournie comme f ou F, une chaîne est créée comme femelle :

DECLARE @CharGender Char(1),
   Varchar(20) @genres ;
   SET @CharGender = N'F ';
        SET @genres = CASE @CharGender
            WHEN suis 'Féminine'
        END;
        
SELECT genres N'Student
THEN 'WHEN THEN 'mâle' m 'WHEN THEN 'mâle' ' f 'THEN' féminine 'WHEN' F': ' + @ genres ; GO

Voici le résultat d'exécution :

CASE

CASE... WHEN... THEN... ELSE

Dans la plupart des cas, vous le savez peut-être les seuls types de valeur qui serait soumis à une instruction CASE. Dans certains autres cas, une valeur imprévisible peut-être être présentée. Si vous prévoyez une valeur autre que ceux qui vous connaissez, l'instruction CASE fournit un "fit-all ' alternative à l'aide de la dernière instruction comme ELSE. Dans ce cas, la formule de l'instruction CASE serait :

CASE expression
    WHEN valeur1 THEN résultats
    WHEN Value2 THEN résultats
    WHEN Value_n THEN résultats
    
    ELSE alternative
END

L'instruction ELSE, comme le dernier, est utilisée lorsque aucune des valeurs des instructions WHEN s'adapte. Voici un exemple :

DECLARE @CharGender Char(1),
        @genres Varchar(20);
SET @CharGender = N'g ';
SET @genres =
        CASE @CharGender
            WHEN 'm' THEN 'Mâle'
            WHEN 'M' THEN 'Mâle'
            WHEN 'f' THEN 'Femme'
            WHEN 'F' THEN 'Femme'
            ELSE 'Inconnu';
        END 
            
SELECT N'Dexe de l'éleve: ' + @genres;
GO

Cela donnerait :

CASE...WHEN...THEN...ELSE

Si vous ne pas produire une instruction ELSE, mais une valeur non adressée par le quelconque des instructions WHEN est produite, le résultat serait NULL. Voici un exemple :

CASE...WHEN...THEN...ELSE

Cela signifie qu'il s'agit d'un dispositif de protection précieuse pour toujours inclure une sub-statement ELSE dans une instruction CASE.

WHILE

Pour examiner une condition et évaluer avant de prendre des mesures, vous pouvez utiliser l'opérateur WHILE. La formule de base de cette déclaration est :

WHILE expression       Instruction

Lors de la mise en œuvre de cette déclaration, d'abord fournir une expression après le mot-clé WHILE. L' expression doit produire une véritable ou un résultat faux. Si l' expression est true, l'interpréteur exécute l' instruction. Après l'exécution de l' instruction, l' expression est vérifiée à nouveau. AS LONG AS l' expression est vraie, il va conserver exécute l' instruction. Lorsqu'ou une fois l' expression devient false, il arrête l'exécution de l' instruction. Ce scénario peut être illustré comme suit :

WHILE

Voici un exemple :

DECLARE @numéro As int
        
WHILE @ numéro < 5
         SELECT @ nombre en nombre
GO

Pour exécuter efficacement une condition tandis que, vous devez vous assurer de que vous fournir un mécanisme pour l'interprète obtenir une valeur référencée pour la condition, variable ou expression à vérifier. C'est parfois sous la forme d'une variable en cours d'initialisation bien qu'il pourrait être quelque autre expression. Tel un certain état pourrait être illustrée comme suit :

WHILE

Cette fois, la déclaration devrait être mises en oeuvre comme suit :

DECLARE @Numéro As int
        SET @numéro = 1
WHILE @nombre < 5
        BEGIN SELECT @nombre tel numéro
        SET @nombre = @numbre + 1
        END
GO

Cela donnerait :

WHILE

Constantes booléennes

 

Introduction

Bases de données et autres environnements de programmation fournissent des opérateurs, que vous pouvez utiliser pour effectuer l'analyse de données. Les opérateurs utilisés sont appelés des opérateurs logiques car ils sont utilisés pour effectuer des comparaisons qui produisent un résultat true ou false (il n'y a aucun résultat intermédiaire ; en d'autres termes, une chose est pas moitié true ou la moitié false ou "Don ' T Know": il est vrai ou elle est false).

La valeur TRUE et FALSE constantes

En algèbre booléenne, quelque chose est considéré comme vrai lorsqu'il contient une valeur. La valeur est également considérée comme 1 ou Oui. En revanche, si quelque chose n'est pas contenir une valeur, il est considéré comme inexistant et non-digne de considération. Une telle chose a la valeur FALSE, 0, ou non. Pour récupérer une telle valeur, vous pouvez simplement savoir si la valeur d'un champ est existant ou non.

La comparaison d'une valeur true ou FALSE s'effectue principalement sur les champs de type Boolean, un tel cas est le SPHome (qui spécifie si un étudiant vit dans une maison monoparentale) champ des élèves des table de la base de données HighSchool. Si un enregistrement a la valeur 1, le tableau considère que ce champ est true. Si le champ a une valeur 0, il détient alors une valeur FALSE.

La constante NULL

Une fois que vous avez déclaré une variable, l'interpréteur SQL réserve un espace dans la mémoire de l'ordinateur pour qu'il mais ne rien mettre dans cet espace de mémoire. À cette époque, cette zone de la mémoire n'est pas contenir une valeur significative. Également à cette époque, la variable est considéré comme nulle.

Voici note à être prudents : lorsqu'une variable est dit pour contenir une valeur nulle, cela ne signifie pas sa valeur est 0. Cela ne veut pas même dire que l'espace de mémoire de la variable est vide. En fait, cela signifie que nous ne pouvons pas déterminer clairement la valeur actuelle de la variable est tenue.

Pour prendre en charge la valeur null, Transact-SQL fournit une constante nommée NULL. La constante NULL est principalement utilisée à des fins de comparaison. Par exemple, vous pouvez utiliser une instruction IF pour vérifier la nullité d'une variable.

L'opérateur de IS

Pour valider un élément comme étant possible, vous pouvez utiliser l'opérateur IS. Par exemple, de reconnaître que quelque chose est NULL, vous pouvez utiliser l'expression IS NULL. Voici un exemple :

--Carré calcul
DECLARE @côté As Decimal(10,3), 
        @périmètre As Decimal(10,3),
        @espace sous Decimal(10,3);
        
SET @périmètre = côté @ * 4;
SET @ zone = @ côté * @côté;
IF @ Side IS NULL
    PRINT N'A valeur nulle n'est pas Bienvenue '
ELSE IF @côté > 0
    BEGIN SELECT @face AS face;
        SELECT @ périmètre AS périmètre;
        SELECT @ espace comme zone; fin ; ELSE PRINT N'You doit fournir une valeur positive '; GO

Cela donnerait :

Pour éviter d'avoir une valeur NULL, vous pouvez soit initialiser la variable ou vous pouvez affecter une valeur. Voici un exemple :

--Carré calcul
DECLARE @côté As Decimal(10,3),
        @périmètre As Decimal(10,3),
        @espace As Decimal(10,3);
SET @côté = 48.126;
SET @périmètre = @côté  * 4;
SET @zone = @côté * @côté;
IF @Side IS NULL
    PRINT N'A la valeur null n'est pas Bienvenue'
ELSE IF @face > 0
BEGIN
    SELECT @ face AS côté;
    SELECT @ périmètre AS périmètre;
    SELECT @Area AS zone ; fin ;
ELSE PRINT N'You doit fournir une valeur positive ';
GO

Cela donnerait :

NULL Value

L'opérateur NOT

Pour refuser la présence, la disponibilité ou l'existence d'une valeur, vous pouvez utiliser l'opérateur NOT. Cet opérateur est utilisé principalement pour inverser une valeur booléenne. Par exemple, nous avons appris que FALSE est l'opposé de TRUE. De la même manière, TRUE est le contraire de FALSE. Si vous souhaitez comparer une valeur comme n'étant pas vrai, le NOT TRUE serait produisent le même résultat que la valeur FALSE. Pour la même raison, l'expression pas FALSE est le même que le vrai.

Résumé de la leçon

Divers exercices

  1. Écrire une instruction peut découvrir et afficher chaque numéro qui est divisible par 3, entre 1 et 30
  2. Écrire une instruction qui, compte tenu du salaire annuel d'une personne, peut évaluer le salaire horaire (envisager que le salaire annuel est basé sur 40 heures par semaine). Rejeter tout salaire annuel négatif
  3. Écrire une instruction afin que, si le rayon d'un cercle, il calcule et affiche : le diamètre, la circonférence et la zone
  4. Écrire une instruction afin que, étant donné le rayon et la hauteur d'un cylindre, il calcule et affiche : le diamètre de la base, la circonférence de la base, la superficie de base, la zone côté, la superficie totale et le volume
 

Précédent Copyright © 2010 Yevol Suivant