データベース管理者としての仕事のスリングSQLを、マニュアルトランスミッションを備えたシフトギアと比較したことがありますか?はるか昔にグラフィカルユーザーインターフェイス(GUI)によって征服された世界では、SQLは、データベース管理者が計算装置を介してシフターを漕ぎ出し、実際の作業を行うための数少ない方法の1つです。
DBAとして、あなたはそのつながりを誇りに思うことができます。たとえば、これを考えてみてください。
ギアのシフトとSQLServerクエリの記述
あなたが大学を離れていて、仕事を見つける必要があるとしましょう。だからあなたは食べたり詰めたりすることができます。町のデリでサンドイッチメーカーの広告が表示されたので、クラスをスキップして応募することにしました。あなたは店に歩いて行き、クラスをスキップして応募した他の19人の後ろの歩道に並んでいます。応募者は無職になり、無職になり続けます。
「厳しい面接でなければなりません」とあなたは自分に言い聞かせます。
最後に、あなたの番です。サンドイッチ店のオーナーが1つの優先事項を持っています。
「マニュアルトランスミッションを運転できますか?」彼女は尋ねます。
あなたはそれを期待していませんでしたね?しかし、適切なタイミングで適切な答えが得られます。
"もちろん。私は、床に5つ、派手なクラッチを備えた’99フォードエクスプローラーで学びました。みんなじゃなかった?」
「いいえ」とオーナーは言います。 「あなたは私たちのために配達を実行する必要があります、そして私たちのトラックにはスティックがあります。もう1つの質問:七面鳥のサンドイッチにはどのような肉が入っていますか?」
菜食主義者であるあなたは、少しの間、ヘムとホーをします。それから、正しいことが証明される野蛮な推測をします。
「あなたには仕事があります」とオーナーは言います。 「いつから始められますか?」
それは肉の質問に触れたかもしれませんが、あなたのマニュアルギアボックスの血統はデリであなたによく役立ち、ハードコアでスティックシフトのDBAとしてあなたに役立ち続けています。手が上にあるかどうかを気にしない、脳死したPRNDLをフリックするのはあなたのためではありません。
SQL Server Management Studioエディターを開いて、いくつかのT-SQLコマンドを実行できることをうれしく思います。すぐに、SQLServerデータベースの腸から引き出された貴重な情報の大きなリストをどこかに生成できます。
SQLServerクエリの用語集
また、自尊心のあるDBAとして、お気に入りのSQLServerクエリをいくつか持っていると思います。それらは、誰かが急いで特定のデータを必要とするときにいつでも引き出して引き出すSQLServerクエリの用語集と考えてください。
2つのSQLServerクエリの結果を1つに結合する
データアナリストがあなたのオフィスにやって来て、火をつけて、顧客のリスト、彼らの電子メールアドレス、そして会社が明日実行しているオンラインプロモーションの最近の注文をあなたに頼みます。
「心配しないで」あなたは落ち着いて答えます。 「デスクに戻るまでに受信トレイに届きます。」
クエリエディタで新しいウィンドウを開き、いくつかの簡単なステートメントを入力します。
SELECT email FROM Customers
UNION SELECT item FROM Orders
新しいテーブルを保存し、Hair-on-Fireにメールで送信して、仕事に戻ります。
ワイルドカードの使用
LIKE キーワードをワイルドカードとともに注意深く使用すると、用語集の手ごわいメンバーになります。さらに、それはあなたに非常に多くの結果を与えることができます-非常に少ない構文のために強打-お金。次に示すように、わずか47文字のSQLを使用して、名前が「Rob」で始まる顧客のCustomersテーブルのすべての行を一覧表示して調べることができます。
SELECT * From Customers WHERE Lastname LIKE 'Rob%'
結果のリストには、ロビンズ、ロバーツ、ロバートソン、ロビンソンなどが含まれます。
テーブルの列間で値を入れ替える
100,000レコードのデータベースをインポートした後、フィールドが正しくマップされていないことに気付いたことがありますか?もちろん違います。しかし、データは発生し、同僚の1人が遅かれ早かれその間違いを犯すことになります。
インポート操作中に郵便番号と電話番号のフィールドが入れ替わったと想像してください。テーブルを破棄してインポートを再実行する代わりに、UPDATEとSETを使用して問題を修正できます。
UPDATE Customers SET Zip=Phone, Phone=Zip
テーブルから列をプルする
もちろん、完全な初心者のために用意できるSQLServerクエリをバックポケットにいくつか入れる必要があります。
「どうやってやるの?」彼らは尋ねます、彼らの声は賞賛で震えます。
「これから始めてみてください」と風通しの良い言い方をすると、これまでで最も広く使用されているSQLServerクエリについて説明します。
SELECT Lastname FROM Customers;
実際、彼らは独自のクエリエディタでそれを試し、会社のすべての顧客の名前を抽出します。
一部の初心者にとっては、それで十分かもしれません。他の人—ホイッパースナッパー—は笑って、「あなたが得たのはそれだけですか?」と言うかもしれません。彼らは誰と取引しているのかを知る必要があるので、ワイルドカードを追加します:
SELECT * FROM Orders;
次に、机に戻り、テーブル内のすべての属性をカーペットに爆撃し、大量のデータをどう処理するかを理解するために残しました。
並べ替えられたデータを順番に出力する
データが有用な順序でデータベースに入力されることはめったにありませんが、ほとんどのユーザーは、データがアルファベット順または番号順にリストされていることを確認する必要があります。このSQLServerクエリの場合:
SELECT Emp_ID, Lastname FROM Employee
WHERE City = 'Tulsa' ;
タルサの従業員ID番号と名前のリストが、表に記載されている順序で表示されます。 ID番号で数値順に並べ替えられたリストの場合は、次のSQLServerクエリを実行します。
SELECT Emp_ID、Lastname FROM Employee
WHERE City ='Tulsa' ORDER BY Emp_ID;
何らかの理由で番号の逆順にリストしたい場合は、 descを追加してください。 :
SELECT Emp_ID, Lastname FROM Employee
WHERE City = 'Tulsa' ORDER BY Emp_ID desc;
並べ替えられたデータをグループに出力する
並べ替えに加えて、グループ化はデータを操作するための強力な方法です。患者の名前と年齢を年齢別にグループ化し、それらのグループ内で名前で並べ替えるには、SQLServerクエリを次のように構成します。
SELECT Name, Age FROM Patients WHERE Age > 40
GROUP BY Age ORDER BY Name;
並べ替えとグループ化により、データアナリストの作業がはるかに楽になります。そして、これらの操作の背後にあるSQLServerクエリは比較的単純です。
スティックシフトをあきらめないでください
これらは、独自の用語集に保持するための単純なSQLServerクエリの例です。多くのDBAは、睡眠中に自分の好きなクエリを書くことができ、頻繁に使用します。
もちろん、スティックシフトはほとんど絶滅危惧種です。それらを見つけるのはますます難しくなっています(そしてそれらを運転する方法を知っているデリの従業員を見つけるのは難しくなっています)。マニュアルトランスミッションが姿を消しつつある世界では、SQLクエリの知識を持っているものを保持することが重要です。どちらもスキルが必要であり、少なからず狡猾であり、クラッチアウト–シフト–クラッチイン–ガスのこと全体に煩わされることができない人々からあなたを際立たせます。
必要になるまで、スティックシフトとSQLServerクエリをあきらめないでください。