sql >> Database >  >> RDS >> Sqlserver

Woordenlijst van SQL Server-query's - A Stick Shift voor DBA's

Vergelijk je ooit je werk met het slingeren van SQL als databasebeheerder met schakelen met een handmatige transmissie? In een wereld die lang geleden door de grafische gebruikersinterface (GUI) is veroverd, is SQL een van de weinige overgebleven manieren voor een databasebeheerder om een ​​shifter door de computerversnellingen te roeien en echt werk gedaan te krijgen.

Als DBA mag je trots zijn op die verbinding. Overweeg dit bijvoorbeeld.

Verschuiven en SQL Server-query's schrijven

Stel dat je niet naar de universiteit gaat en een baan moet zoeken. Dus je kunt eten en zo. Je ziet een advertentie voor een tosti-ijzer bij een broodjeszaak in de stad, dus je besluit de les over te slaan en je aan te melden. Je loopt naar de winkel en staat in de rij op de stoep achter de 19 andere mensen die de les hebben overgeslagen om te solliciteren. Sollicitanten blijven werkloos binnenkomen en komen er werkloos uit.

"Het moet een moeilijk interview zijn", zeg je tegen jezelf.

Eindelijk is het jouw beurt om naar binnen te gaan. De eigenaar van de broodjeszaak heeft één prioriteit.

"Kun je met een handgeschakelde versnellingsbak rijden?" vraagt ​​ze.

Dat had je niet verwacht, toch? Maar je hebt het juiste antwoord op het juiste moment.

"Zeker. Ik leerde op een Ford Explorer uit '99 met vijf op de vloer en een spetterende koppeling. Niet iedereen?”

"Nee", zegt de eigenaar. 'Je moet de leveringen voor ons doen, en onze vrachtwagen heeft een stok. Nog een vraag:wat voor soort vlees gaat er in een kalkoensandwich?”

Je knipoogt een minuutje - als vegetariër - en neemt dan een wilde gok die correct blijkt te zijn.

"Je hebt de baan", zegt de eigenaar. "Wanneer kun je beginnen?"

Het was misschien een kwestie van contact met de vleesvraag, maar je pedigree met handmatige versnellingsbak heeft je goed gediend bij de delicatessenwinkel en blijft je goed van pas komen als een keiharde, stick-shifting DBA. Niet voor jou het tikken van een hersendode PRNDL die er niet om geeft of je hand erop zit of niet.

Het geeft je voldoening om een ​​SQL Server Management Studio-editor te kunnen openen en een paar T-SQL-commando's in te voeren. In een mum van tijd kunt u een grote lijst met waardevolle informatie genereren die ergens uit de ingewanden van een SQL Server-database is gehaald.

Woordenlijst van SQL Server-query's

En als zichzelf respecterende DBA heb je waarschijnlijk een handvol favoriete SQL Server-query's in je achterzak. Zie ze als een woordenlijst van SQL Server-query's die u tevoorschijn haalt en waaruit u kunt putten wanneer iemand snel specifieke gegevens nodig heeft.

De resultaten van twee SQL Server-query's combineren tot één

Een data-analist komt je kantoor binnenstormen, haar in brand, en smeekt je om een ​​lijst met klanten, hun e-mailadressen en hun recente bestellingen voor een online promotie die het bedrijf morgen organiseert.

"Maak je geen zorgen", antwoord je kalm. "Het zal in je inbox zijn tegen de tijd dat je teruggaat naar je bureau."

U opent een nieuw venster in uw query-editor en typt een paar snelle uitspraken:

SELECT email FROM Customers UNION SELECT item FROM Orders

U slaat de nieuwe tafel op, e-mailt deze naar Hair-on-Fire en gaat weer aan het werk.

Jokertekens gebruiken

De LIKE trefwoord, indien zorgvuldig gebruikt met jokertekens, is een formidabel lid van uw woordenlijst. Bovendien kan het u zoveel resultaten opleveren voor zo weinig syntaxis. Met slechts 47 tekens SQL kunt u alle rijen in een tabel Klanten weergeven en onderzoeken voor klanten wiens achternaam begint met "Rob", zoals hier wordt weergegeven:

SELECT * From Customers WHERE Lastname LIKE 'Rob%'

Uw resulterende lijst zal Robbins, Roberts, Robertson, Robinson enzovoort bevatten.

Waarden wisselen tussen kolommen in een tabel

Heeft u ooit een database met 100.000 records geïmporteerd en besefte u dat u velden verkeerd in kaart had gebracht? Natuurlijk niet. Maar gegevens gebeuren, en een van uw collega's zal die fout vroeg of laat maken.

Stelt u zich eens voor dat de velden voor postcode en telefoonnummer werden omgezet tijdens uw importbewerking. In plaats van de tabel te schrappen en de import opnieuw uit te voeren, kunt u UPDATE en SET gebruiken om het probleem op te lossen:

UPDATE Customers SET Zip=Phone, Phone=Zip

Kolommen uit een tabel halen

Natuurlijk heb je een paar SQL Server-query's in je achterzak nodig die je kunt gebruiken voor de complete nieuwkomers.

"Hoe doe je wat je doet?" vragen ze, hun stem trilt van bewondering.

"Probeer hiermee te beginnen", zeg je luchtig, en je laat ze zowat de meest gebruikte SQL Server-query ooit zien:

SELECT Lastname FROM Customers;

Ze proberen het inderdaad in hun eigen query-editor en extraheren de achternamen van alle klanten van het bedrijf.

Voor sommige nieuwkomers is dat misschien voldoende. Anderen - de whippersnappers - kunnen grijnzen en zeggen:"Is dat alles wat je hebt?" Ze moeten weten met wie ze te maken hebben, dus je voegt een wildcard toe:

SELECT * FROM Orders;

Je keert dan terug naar je bureau, nadat je ze hebt gebombardeerd met alle attributen in de tabel en ze hebt achtergelaten om uit te zoeken wat ze met zoveel gegevens moeten doen.

Gesorteerde gegevens in volgorde uitvoeren

Gegevens komen zelden in een bruikbare volgorde in een database, maar de meeste gebruikers moeten ze in alfabetische of numerieke volgorde zien. Met deze SQL Server-query:

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

U krijgt een lijst met werknemers-ID-nummers en achternamen in Tulsa in de volgorde waarin ze in de tabel voorkomen. Voer deze SQL Server-query uit voor een lijst die numeriek is gesorteerd op ID-nummer:

SELECT Emp_ID, achternaam FROM werknemer

WHERE Stad ='Tulsa' BESTEL DOOR Emp_ID;

Als u ze om de een of andere reden in omgekeerde numerieke volgorde wilt weergeven, voegt u desc . toe :

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

Gesorteerde gegevens in groepen uitvoeren

Naast sorteren is groeperen een krachtige manier om gegevens te manipuleren. Als u de namen en leeftijden van patiënten wilt weergeven, gegroepeerd op leeftijd en gesorteerd op naam binnen die groepen, structureert u uw SQL Server-query als volgt:

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

Sorteren en groeperen maakt het leven van uw data-analisten een stuk eenvoudiger. En de SQL Server-query's achter die bewerkingen zijn relatief eenvoudig.

Geef je stickshift niet op

Dit zijn eenvoudige voorbeelden van SQL Server-query's die u in uw eigen woordenlijst kunt bewaren. Veel DBA's kunnen hun eigen favoriete zoekopdrachten in hun slaap schrijven, ze gebruiken ze zo vaak.

Natuurlijk zijn stickshifts bijna een bedreigde diersoort. Het wordt steeds moeilijker om ze te vinden (en moeilijker om deli-medewerkers te vinden die weten hoe ze ermee moeten rijden). In een wereld van verdwijnende handmatige verzendingen, is het belangrijk dat u vasthoudt aan degene die u kent op het gebied van SQL-query's. Beide vereisen vaardigheid en niet een beetje sluwheid, en ze onderscheiden je van mensen die geen zin hebben in dat hele ding Koppelen uit - Schakelen - Koppelen in - Gas.

Geef uw stick-shift en SQL Server-query's pas als het moet.


  1. ORA-00972 identifier is te lang alias kolomnaam

  2. Waarom zijn geaggregeerde functies niet toegestaan ​​in de where-clausule?

  3. Tabellen zoeken die een specifieke kolom bevatten in SQL Server

  4. is er een PRODUCT-functie zoals er een SOM-functie is in Oracle SQL?