Сравнявали ли сте някога работата си по SQL като администратор на база данни с превключване на предавките с ръчна скоростна кутия? В свят, завладян отдавна от графичния потребителски интерфейс (GUI), SQL е един от малкото останали начини за администратор на база данни да върви с превключвател през изчислителните съоръжения и да свърши истинска работа.
Като DBA, можете да се гордеете с тази връзка. Помислете за това, например.
Превключване на предавките и писане на заявки за SQL Server
Да предположим, че сте далеч в колежа и трябва да си намерите работа. Така че можете да ядете и други неща. Виждате обява за производител на сандвичи в гастроном в града, така че решавате да пропуснете час и да кандидатствате. Отивате до магазина и заставате на опашка на тротоара зад другите 19 души, които са пропуснали час, за да кандидатстват. Кандидатите продължават да остават без работа и да излизат без работа.
„Трябва да е трудно интервюто“, казвате си.
И накрая, ваш ред е да влезете. Собственикът на магазина за сандвичи има един приоритет.
„Можеш ли да караш ръчна скоростна кутия?“ пита тя.
Не очаквахте това, нали? Но имате правилния отговор в точното време.
"Сигурен. Научих на Ford Explorer '99 с пет на пода и пръскащ съединител. Не всички ли?"
„Не“, казва собственикът. „Ще трябва да извършвате доставки за нас, а нашият камион има пръчка. Още един въпрос:Какво месо влиза в пуешки сандвич?”
Подгъвате за минута – като сте вегетарианец – след това правите диво предположение, което се оказва правилно.
„Имате работата“, казва собственикът. „Кога можете да започнете?“
Въпросът за месото може да е бил докосване и тръгване, но родословието ви с ръчна скоростна кутия ви е послужило добре в деликатеса и продължава да ви служи добре като твърд DBA, който сменя стик. Не е за вас мигането на умрял PRNDL, на който не му пука дали ръката ви е върху него или не.
За вас е приятно, че можете да отворите редактор на SQL Server Management Studio и да въведете няколко T-SQL команди. За нула време можете да генерирате голям списък с ценна информация, извадена някъде от недрата на база данни на SQL Server.
Речник на заявките на SQL Server
И като уважаващ себе си DBA, вероятно имате шепа любими SQL Server заявки, които държите в задния си джоб. Мислете за тях като за речник на SQL Server заявки, които изваждате и черпите, когато някой се нуждае от конкретни данни набързо.
Комбиниране на резултатите от две SQL Server заявки в една
Анализатор на данни влиза в офиса ви, горящ косъм, и ви моли за списък с клиенти, техните имейл адреси и последните им поръчки за онлайн промоция, която компанията провежда утре.
„Не се притеснявай“, отговаряш спокойно. „Ще бъде във входящата ви кутия, докато се върнете на бюрото си.“
Отваряте нов прозорец в редактора на заявки и въвеждате няколко бързи израза:
SELECT email FROM Customers
UNION SELECT item FROM Orders
Записвате новата таблица, изпращате я по имейл до Hair-on-Fire и се връщате към работа.
Използване на заместващи знаци
Харесвам ключовата дума, ако се използва внимателно със заместващи знаци, е страхотен член на вашия речник. Освен това може да ви даде толкова много резултати за толкова малко пари за синтаксис. Със само 47 символа на SQL можете да изброите и прегледате всички редове в таблица с клиенти за клиенти, чието фамилно име започва с „Rob“, както е показано тук:
SELECT * From Customers WHERE Lastname LIKE 'Rob%'
Вашият резултат ще включва Робинс, Робъртс, Робъртсън, Робинсън и така нататък.
Размяна на стойности между колони в таблица
Случвало ли ви се е да импортирате база данни от 100 000 записа, след което да разберете, че сте картографирали полета неправилно? Разбира се, че не. Но данните се случват и някой от вашите колеги е длъжен да направи тази грешка рано или късно.
Представете си, че полетата за пощенски код и телефонен номер са били транспонирани по време на вашата операция по импортиране. Вместо да отстраните таблицата и да стартирате повторно импортирането, можете да използвате UPDATE и SET, за да отстраните проблема:
UPDATE Customers SET Zip=Phone, Phone=Zip
Изтегляне на колони от таблица
Разбира се, имате нужда от няколко SQL Server заявки в задния си джоб, които можете да извадите за пълните начинаещи.
"Как правиш това, което правиш?" питат те, гласът им трепка от възхищение.
„Опитайте да започнете с това“, казвате въздушно и им показвате почти най-широко използваната заявка на SQL Server някога:
SELECT Lastname FROM Customers;
Всъщност те го изпробват в собствения си редактор на заявки и извличат фамилните имена на всички клиенти на компанията.
За някои начинаещи това може да е достатъчно. Други - бичащите - може да се усмихнат и да кажат:„Това ли е всичко, което имате?“ Те трябва да знаят с кого имат работа, така че добавяте заместващ знак:
SELECT * FROM Orders;
След това се връщате на бюрото си, като ги бомбардирате с всички атрибути в таблицата и ги оставяте да разберат какво да правят с толкова много данни.
Извеждане на сортирани данни в ред
Данните рядко влизат в база данни в полезен ред, но повечето потребители трябва да ги виждат изброени по азбучен или цифров ред. С тази заявка на SQL Server:
SELECT Emp_ID, Lastname FROM Employee
WHERE City = 'Tulsa' ;
Ще получите списък с идентификационни номера и фамилни имена на служители в Тулса в реда, в който се появяват в таблицата. За списък, сортиран числово по идентификационен номер, изпълнете тази заявка на SQL Server:
ИЗБЕРЕТЕ Emp_ID, Фамилно име ОТ служител
WHERE City ='Tulsa' ORDER BY Emp_ID;
Ако по някаква причина искате да ги изброите в обратен числов ред, добавете desc :
SELECT Emp_ID, Lastname FROM Employee
WHERE City = 'Tulsa' ORDER BY Emp_ID desc;
Извеждане на сортирани данни в групи
Освен сортирането, групирането е мощен начин за манипулиране на данни. За да изброите имената и възрастите на пациентите, групирани по години и сортирани по име в рамките на тези групи, структурирайте заявката си за SQL Server по следния начин:
SELECT Name, Age FROM Patients WHERE Age > 40
GROUP BY Age ORDER BY Name;
Сортирането и групирането правят живота много по-лесен за вашите анализатори на данни. И заявките на SQL Server зад тези операции са сравнително прости.
Не се отказвайте от смяната на палката
Това са прости примери за заявки на SQL Server, които да запазите във вашия собствен речник. Много администратори на база данни могат да пишат свои собствени любими заявки в съня си, те ги използват толкова често.
Разбира се, чепките са почти застрашен вид. Все по-трудно е да ги намерите (и по-трудно да намерите служители на деликатеси, които знаят как да ги карат). В свят на изчезващи ръчни трансмисии е важно да се придържате към тази, която имате в познанията си за SQL заявките. И двете изискват умения и не малко хитрост и ви отличават от хората, които не могат да се притесняват от цялото това нещо с изключен съединител – превключване – включване на съединителя – газ.
Не оставяйте смяната на стик и заявките на SQL Server, докато не се наложи.