Filtrer par colonnes identiques dans les bases de données avec requête SQL

Vous cherchez un moyen de filtrer vos lignes d'une table de base de données SQL, MySQL ou MariaDB par des colonnes identiques ? Vous cherchez un Query pour jouer sur console ?

J'ai récemment traversé une situation où il était nécessaire de filtrer sur une table de base de données et d'afficher uniquement les lignes qui avaient deux colonnes avec les mêmes valeurs de texte. Après des heures de recherche, j'ai trouvé la solution simple et je la partage avec vous.

Je ne suis pas programmeur et je pense que la plupart des personnes qui recherchent ces conseils n'ont pas non plus beaucoup de sens du code.

J'utilise souvent le programme Navicat pour éditer des bases de données, il est assez rapide et pratique, en plus de vous permettre d'éditer des lignes et des colonnes avec la même liberté que Microsoft Excel ou Apple Numbers.

La plupart des gens utilisent PhpmyAdmin pour gérer les bases de données de leur site Web. Les deux vous permettent d'exécuter des scripts via l'onglet SQL ou Requête.

Utilisation de la requête SQL pour filtrer

Comme je ne suis pas un professionnel des bases de données, je ne savais pas qu'il était possible d'afficher des tables filtrées via un code de requête, mais heureusement, j'ai découvert.

Mon utilisation dans la base de données est entièrement de supprimer des lignes, de rechercher des textes et d'utiliser le Rechercher et remplacer, je n'avais aucune idée que les codes SQL sont super utiles.

J'ai personnellement utilisé ces codes pour vérifier les erreurs de traduction et trouver des lignes non traduites dans les tables de base de données de traduire presse.

Filtrar por colunas idênticas em bancos de dado com sql query - sql filtro navicat

Code de requête SQL

Les codes ci-dessous sont utiles pour :

  • Trouvez des lignes égales à partir de différentes colonnes ;
  • Trouvez différentes lignes de différentes colonnes ;
  • Trouve un contenu égal dans deux colonnes ;
SELECT * FROM `databasename`.`tablename` WHERE colum01 = colum02 ORDER BY `id` LIMIT 500 OFFSET 0; 

Le code que nous venons d'examiner utilise OÙ colonne01 = colonne02 pour afficher les lignes qui ont les mêmes résultats dans les deux colonnes. Le code peut être étendu à plusieurs colonnes si vous le souhaitez.

Si vous souhaitez ajouter les filtres traditionnels pour trouver certains textes, vous pouvez étendre le script avant COMMANDÉ PAR mettre un ET comme dans le code ci-dessous :

SELECT * FROM `databasename`.`tablename` WHERE colum01 = colum02 AND (`colum01` LIKE '%text%') ORDER BY `id` LIMIT 500 OFFSET 0; 

Après ET nous avons un code entre parenthèses qui filtre le texte uniquement dans la colonne 01. COMME pour trouver les lignes contenant la valeur filtrée ou PAS COMME pour rechercher les lignes qui ne contiennent pas la valeur.

Le script peut être étendu davantage en utilisant AND et un autre code. Maintenant, pour finir, nous allons afficher un autre code, mais au lieu d'afficher des lignes avec des valeurs égales, il affiche des lignes avec des valeurs différentes en utilisant !=.

SELECT * FROM `databasename`.`tablename` WHERE colum01 != colum02 ORDER BY `id` LIMIT 500 OFFSET 0; 

J'espère que ce code vous aidera à vraiment filtrer et rechercher des lignes avec des valeurs identiques ou différentes à partir de colonnes séparées à l'aide de filtres conventionnels AIMER et PAS AIMER.