Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Glossaire des requêtes SQL Server - Un changement de bâton pour les administrateurs de base de données

Avez-vous déjà comparé votre travail d'élingage SQL en tant qu'administrateur de base de données à un changement de vitesse avec une transmission manuelle ? Dans un monde conquis il y a longtemps par l'interface utilisateur graphique (GUI), SQL est l'un des rares moyens restants pour un administrateur de base de données de passer un levier de vitesse à travers les engrenages de calcul et d'accomplir un vrai travail.

En tant que DBA, vous pouvez être fier de cette connexion. Considérez ceci, par exemple.

Changer de vitesse et écrire des requêtes SQL Server

Supposons que vous soyez à l'université et que vous ayez besoin de trouver un emploi. Ainsi, vous pouvez manger et tout. Vous voyez une annonce pour un fabricant de sandwichs dans une épicerie fine en ville, alors vous décidez de sécher les cours et de postuler. Vous vous dirigez vers le magasin et vous faites la queue sur le trottoir derrière les 19 autres personnes qui ont séché les cours pour postuler. Les candidats continuent d'être sans emploi et d'en sortir.

« Ça doit être une entrevue difficile », vous dites-vous.

Enfin, c'est à vous d'entrer. Le propriétaire de la sandwicherie a une priorité.

« Pouvez-vous conduire une transmission manuelle ? » demande-t-elle.

Vous ne vous attendiez pas à ça, n'est-ce pas ? Mais vous avez la bonne réponse au bon moment.

"Bien sûr. J'ai appris sur un Ford Explorer 99 avec cinq sur le sol et un embrayage éclaboussant. Pas tout le monde ?"

« Non », dit le propriétaire. « Vous aurez besoin d'effectuer des livraisons pour nous, et notre camion a un bâton. Une dernière question :quel type de viande entre dans un sandwich à la dinde ?"

Vous hem and haw pendant une minute - étant végétarien - puis faites une supposition folle qui s'avère correcte.

"Vous avez le travail", dit le propriétaire. "Quand pouvez-vous commencer ?"

La question de la viande a peut-être été délicate, mais votre pedigree de boîte de vitesses manuelle vous a bien servi à la charcuterie et continue de bien vous servir en tant que DBA endurci et à changement de bâton. Ce n'est pas pour vous la chiquenaude d'un PRNDL en état de mort cérébrale qui ne se soucie pas de savoir si votre main est dessus ou non.

C'est gratifiant pour vous de pouvoir ouvrir un éditeur SQL Server Management Studio et de marteler quelques commandes T-SQL. En un rien de temps, vous pouvez générer une grande liste d'informations précieuses extraites des entrailles d'une base de données SQL Server quelque part.

Glossaire des requêtes SQL Server

Et, en tant que DBA qui se respecte, vous avez probablement une poignée de requêtes SQL Server préférées que vous gardez dans votre poche arrière. Considérez-les comme un glossaire de requêtes SQL Server que vous extrayez et puisez chaque fois que quelqu'un a besoin de données spécifiques dans l'urgence.

Combiner les résultats de deux requêtes SQL Server en une seule

Un analyste de données fait irruption dans votre bureau, les cheveux en feu, et vous demande une liste de clients, leurs adresses e-mail et leurs commandes récentes pour une promotion en ligne que l'entreprise organise demain.

« Ne vous inquiétez pas », répondez-vous calmement. "Il sera dans votre boîte de réception lorsque vous retournerez à votre bureau."

Vous ouvrez une nouvelle fenêtre dans votre éditeur de requête et saisissez quelques instructions rapides :

SELECT email FROM Customers UNION SELECT item FROM Orders

Vous enregistrez le nouveau tableau, l'envoyez par e-mail à Hair-on-Fire et reprenez le travail.

Utiliser des caractères génériques

Le J'AIME mot-clé, s'il est utilisé avec précaution avec des caractères génériques, est un élément formidable de votre glossaire. De plus, il peut vous donner tellement de résultats pour si peu de syntaxe. Avec seulement 47 caractères SQL, vous pouvez répertorier et examiner toutes les lignes d'une table Clients pour les clients dont le nom commence par "Rob", comme illustré ici :

SELECT * From Customers WHERE Lastname LIKE 'Rob%'

Votre liste résultante inclura Robbins, Roberts, Robertson, Robinson et ainsi de suite.

Échanger des valeurs entre les colonnes d'un tableau

Vous est-il déjà arrivé d'importer une base de données de 100 000 enregistrements, puis de vous rendre compte que vous aviez mal mappé les champs ? Bien sûr que non. Mais les données arrivent, et l'un de vos collègues est susceptible de faire cette erreur tôt ou tard.

Imaginez que les champs pour le code postal et le numéro de téléphone soient transposés lors de votre opération d'importation. Au lieu de supprimer la table et de relancer l'importation, vous pouvez utiliser UPDATE et SET pour résoudre le problème :

UPDATE Customers SET Zip=Phone, Phone=Zip

Extraire des colonnes d'un tableau

Bien sûr, vous avez besoin de quelques requêtes SQL Server dans votre poche arrière que vous pouvez préparer pour les débutants complets.

« Comment faites-vous ce que vous faites ? » demandent-ils, la voix tremblante d'admiration.

"Essayez de commencer par ceci", dites-vous avec désinvolture, et vous leur montrez à peu près la requête SQL Server la plus utilisée à ce jour :

SELECT Lastname FROM Customers;

En effet, ils l'essayent dans leur propre éditeur de requêtes et extraient les noms de famille de tous les clients de l'entreprise.

Pour certains débutants, cela peut suffire. D'autres – les whippersnappers – peuvent sourire et dire:"C'est tout ce que vous avez?" Ils ont besoin de savoir avec qui ils traitent, vous ajoutez donc un caractère générique :

SELECT * FROM Orders;

Vous retournez ensuite à votre bureau, après les avoir bombardés avec tous les attributs du tableau et les avoir laissés décider quoi faire avec autant de données.

Sortie des données triées dans l'ordre

Les données entrent rarement dans une base de données dans un ordre utile, mais la plupart des utilisateurs ont besoin de les voir répertoriées par ordre alphabétique ou numérique. Avec cette requête SQL Server :

SELECT Emp_ID, Lastname FROM Employee WHERE City = 'Tulsa' ;

Vous obtiendrez une liste des numéros d'identification et des noms des employés à Tulsa dans l'ordre dans lequel ils apparaissent dans le tableau. Pour une liste triée numériquement par numéro d'identification, exécutez cette requête SQL Server :

SELECT Emp_ID, nom de famille FROM Employé

WHERE Ville ='Tulsa' ORDER BY Emp_ID ;

Si, pour une raison quelconque, vous souhaitez les lister dans l'ordre numérique inverse, ajoutez desc :

SELECT Emp_ID, Lastname FROM Employee WHERE City = 'Tulsa' ORDER BY Emp_ID desc;

Sortir des données triées en groupes

Outre le tri, le regroupement est un moyen puissant de manipuler les données. Pour répertorier les noms et âges des patients, regroupés par années d'âge et triés par nom au sein de ces groupes, structurez votre requête SQL Server comme ceci :

SELECT Name, Age FROM Patients WHERE Age > 40 GROUP BY Age ORDER BY Name;

Le tri et le regroupement facilitent grandement la vie de vos analystes de données. Et les requêtes SQL Server derrière ces opérations sont relativement simples.

N'abandonnez pas votre levier de vitesse

Ce sont des exemples de requêtes SQL Server simples à conserver dans votre propre glossaire. De nombreux administrateurs de base de données peuvent écrire leurs propres requêtes préférées pendant leur sommeil, tant ils les utilisent fréquemment.

Bien sûr, les changements de vitesse sont presque une espèce en voie de disparition. Il devient de plus en plus difficile de les trouver (et plus difficile de trouver des employés de charcuterie qui savent les conduire). Dans un monde où les transmissions manuelles disparaissent, il est important pour vous de conserver celle que vous avez dans votre connaissance des requêtes SQL. Les deux nécessitent des compétences et pas un peu de ruse, et ils vous distinguent des gens qui ne peuvent pas être dérangés par tout ce truc Embrayage - Changement de vitesse - Embrayage - Gaz.

N'abandonnez pas votre levier de vitesse et vos requêtes SQL Server jusqu'à ce que vous y soyez obligé.