Sqlite sauf l'opérateur

Sqlite sauf l'opérateur
Lorsque vous retournez d'une requête sélectionnée dans SQLite, la clause expressive est essentielle pour exclure certaines lignes. Si nous utilisons la clause expressive avec des instructions consécutives SQLite Select, il renvoie toutes les données avec la première expression de sélection, sauf celles de la seconde. Avec des exemples dans cet article de SQLite, nous découvrirons l'opérateur Sqlite sauf. Ensuite, nous apprendrons à l'utiliser pour récupérer tous les enregistrements à partir de cette première instruction SELECT à côté des données produites par une deuxième déclaration de sélection.

Dans la plupart des cas, nous utilisons la clause SQLite sauf avec des instructions sélectionnées. Toutes les instructions sélectionnées, alors, incluant la clause expressive doivent avoir le même nombre d'enregistrements. La clause sauf dans SQLite est résumé dans la figure ci-dessous:

Si vous regardez la représentation picturale de la clause ci-dessus, à l'exception de la clause, il renverra les enregistrements qui sont dans la zone ombragée de couleur. Cela indique que la clause expressive fournira tous les enregistrements de la première instruction SELECT, sauf celles qui sont dans la deuxième instruction SELECT.

Syntaxe de la clause sauf dans Sqlite:

La clause SQLITE Sauft est utilisée avec une instruction SELECT dans le modèle suivant:

Sélectionnez Column_Name1, Column_Name2,…, Columnn_Name_N
De Table_Name
[Où la condition]
SAUF
Sélectionnez Column_Name1, Column_Name2,…, Columnn_Name_N
De Table_Name
[Où la condition];

Nous avons reconnu deux requêtes sélectionnées avec l'opérateur sauf dans SQLite, comme vous pouvez le voir ci-dessus. Dans ce cas, l'opérateur Sqlite Sauft produit des entrées de la première requête de sélection qui ne se produit pas dans la deuxième requête de sélection. Nous avons spécifié certains des attributs utilisés dans la syntaxe de l'opérateur sauf ci-dessus:

Colonne: Vous souhaitez comparer les colonnes ou les opérations entre les deux instructions sélectionnées. Pour chacune des requêtes, les champs ne doivent pas être les mêmes, mais les colonnes connexes doivent être de types de données similaires.

Nom de la table: Le Table_Name dont vous aimeriez récupérer des enregistrements. La clause From doit mentionner au moins une table.

Où condition: La condition où est facultative ici. Nous avons utilisé la condition où les critères qui devraient être nécessaires pour que les enregistrements soient choisis.

Créer des tables pour la clause expressive:

Nous devons d'abord construire des tables dans la base de données avant de pouvoir utiliser la clause expressive. Nous avons créé un «professeur» de table et avons réglé ses champs comme mentionné dans la figure.

La requête d'insertion est utilisée dans la figure suivante pour insérer le dossier dans le tableau «Teacher».

Dans la requête sélectionnée, nous pouvons récupérer l'enregistrement de la table comme suit:

Comme nous avons créé la table «professeur». Maintenant, nous devons faire une autre table pour la clause Sauft. Pour cela, nous avons créé le deuxième tableau de la base de données existante en tant que «étudiant». Les champs sont définis pour le tableau «Student» comme mentionné ci-dessous.

Ensuite, nous avons inséré les entrées de la table «Student» en utilisant la requête d'insertion comme suit:

Vous pouvez voir l'enregistrement dans le tableau "Student" dans le shell invite suivant.

Exemple 1: Programme d'utilisation de la clause SQLite sauf avec l'expression unique:

Pour cette requête SQLite de base, nous examinerons comment utiliser la clause SQLite sauf dans les instructions avec une seule colonne. Dans notre shell sqlite, nous avons fourni notre première expression sélectionnée qui comprenait l'ID de champ dans le tableau «Student», puis nous avons utilisé la clause expressive. Après cela, la deuxième expression de sélection est utilisée pour sélectionner le même ID de champ mais dans le tableau «enseignant». Cet exemple de la clause expressible récupère toutes les entrées d'identification de l'élève de la table mais pas de l'enseignant de la table. Cela signifie que si une valeur d'identification était présente dans les tableaux d'étudiant et d'enseignant, la valeur d'identification n'apparaîtrait pas dans les données de requête sauf.

Comme l'ID «6» est un ID unique trouvé dans l'élève de la table, il est affiché dans la sortie ici:

Sélectionner l'ID
De l'étudiant
SAUF
Sélectionner l'ID
De l'enseignant;

Exemple 2: Programme d'utilisation de la clause SQLite sauf avec l'expression multiple:

Ensuite, examinons un cas de sqlite sauf une requête qui renvoie plusieurs colonnes. Ici, nous avons deux expressions sélectionnées avec la condition où. Nous avons pris les champs ID, ST_NAME, Sujet et CGPA de l'étudiant de la table. Ensuite, nous avons appliqué une condition où affiche uniquement l'enregistrement dont le CGPA est supérieur et égal à «3.0 ”. Nous avons une deuxième expression sélectionnée qui sélectionne l'ID de colonne, T_Name, T_age et Sujet dans le Table Professeur. La deuxième expression de sélection utilise la condition où a obtenu l'enregistrement de l'enseignant de la table où le sujet est égal à l'ordinateur. Entre ces deux expressions sélectionnées, nous avons une clause sauf qui ne renvoie que l'enregistrement de l'élève de la table avec les valeurs de champ spécifiées mais pas les valeurs de champ correspondant à la table des enseignants.

Sélectionnez ID, ST_NAME, SUJET, CGPA
De l'étudiant
Où cgpa> = 3.0
SAUF
Sélectionnez ID, t_name, t_age, sujet
De professeur
Où sujet = 'ordinateur';

La sortie de la requête sauf est la suivante:

Exemple 3: Programme d'utilisation de SQLite sauf pour la clause avec l'ordre par clause:

Ici, nous avons utilisé la clause expressive avec la commande par ordre décroissant. Tout d'abord, nous avons défini deux expressions sélectionnées avec les différents champs de l'élève et de l'enseignant de la table. Ces expressions sélectionnées sont appelées la clause expressive entre elles. Comme les noms de champs dans les deux expressions sélectionnés diffèrent, il est préférable de se référer aux champs de la clause Order By par leur position de résultat.

Sélectionnez ID, ST_NAME, Sujet
De l'étudiant
Où le sujet = «science»
SAUF
Sélectionnez ID, t_name, sujet
De professeur
Où id < 4
Ordre par 1 desc;

Nous avons réussi à récupérer le record de l'exception de la requête en ordre décroissant comme suit:

Conclusion:

C'est ainsi que nous pouvons utiliser la clause SQLite sauf pour récupérer les données de sélectionner des instructions qui correspondent à nos conditions. Nous avons fourni une introduction rapide avec une représentation picturale dans ce post. A également décrit la syntaxe de la clause sauf et a utilisé cette syntaxe dans l'exemple pour montrer les résultats. Nous pouvons utiliser la clause expressive pour la colonne unique et plusieurs colonnes. La clause Order By est également utilisée avec la clause expressive pour les résultats triés.