ビデオ: Technology Stacks - Computer Science for Business Leaders 2016 2024
データベース管理者(DBA)としてOracle 12cデータベースで実行する最も一般的なステートメントは、DESCRIBEおよびSELECTコマンドです。結局のところ、あなたの仕事の大部分は、データベースにあるものを調査し、現在の状況を分析することです。
あなたの会社の仕事に関する情報を得たいとします。
-
Oracleソフトウェア所有者として、ご使用のOSの端末を開きます。
<! - 1 - > -
oraenvで環境を設定します。
-
と入力してEnterキーを押します。
-
と入力してEnterキーを押します。
-
と入力してEnterキーを押します。
-
と入力してEnterキーを押します。
次の出力が表示されます。
SQL> DESCRIBE jobs名前Null?タイプ----------------------------- -------- ------------ -------- JOB_ID NOT NULL VARCHAR2(10)JOB_TITLE NOT NULL VARCHAR2(35)MIN_SALARY NUMBER(6)MAX_SALARY NUMBER(6)
-
job_idおよびjob_titleを表示するには、
<! - 2 - >を押し、Enterキーを押します。
次の出力が表示されます。
SQL>ジョブからjob_id、job_titleを選択します。 JOB_ID JOB_TITLE ---------- ----------------------------------- AD_PRES大統領AD_VPアドミニストレーション副社長AD_ASST管理アシスタントFI_MGRファイナンスマネージャFI_ACCOUNT会計士AC_MGRアカウンティングマネージャAC_ACCOUNTパブリックアカウンタントSA_MANセールスマネージャーSA_REPセールス担当者PU_MAN購買担当者PU_CLERK購買担当者ST_MAN在庫管理担当者ST_CLERK在庫管理者SH_CLERK出荷担当者IT_PROGプログラマMK_MANマーケティングマネージャMK_REPマーケティング担当者HR_REP人事担当者PR_REP広報担当代表19行を選択しました。
DESCRIBEコマンドを使用すると、テーブル構造を見ることができます。これには、列名、データ型、および列が空(NULL)にできるかどうかが含まれます。この情報は、さまざまなSQL文を構築する際に非常に重要です。たとえば、行を挿入する場合、job_idとjob_titleの値はNOT NULLであるため、指定する必要があります。
SELECT文は非常に簡単です。 1行にすべて入力されていることに注意してください。 SQLでは、単語を半分に分割しない限り、行ごとにどのように文を分割するかはまったく気にしません。
SQL文を句で区切ります。長く複雑なステートメントの場合、多くの改行を使用することができます。これらの改行は、ステートメントを読みやすくするのに役立ちます。
次の2つのSELECT文とその出力があります。
SQL> select * 2 from jobs 3 where job_title = 'President'; JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY ---------- ----------------------------------- - --------- ---------- AD_PRES President 20080 40000 SQL> select * 2 from jobs 3ここでjob_titleは 'P%'のようです; JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY ---------- ----------------------------------- - --------- ---------- AD_PRESプレジデント20080 40000 AC_ACCOUNT公認会計士4200 9000 PU_MAN購買マネージャ8000 15000 PU_CLERK購買担当者2500 5500 IT_PROGプログラマー4000 10000 PR_REP広報担当者4500 10500 6行選択された。
列のリストを使用する代わりに、アスタリスク(*)が使用されています。これは、SELECT句が、2つのカラムだけが選択されたところで示されたものとは対照的に、すべてのカラムを返すことを意味します。
WHERE句の使用に注意してください。 WHERE句は、返されるデータを制限します。この例では、WHERE句は2つの方法で使用されます。
-
等号(=):検索する内容を正確に検索します。
-
ファジー検索(LIKE)として:ワイルドカードを使用して検索語を完成できます。オラクルはパーセント記号をワイルドカード記号として使用します。
%記号の使用は、大文字Pで始まり、その後に何かを持つ行をすべて選択することを指定します。多くの場合、オペレーティングシステムでは、アスタリスクがワイルドカードとして使用されています。しかし、それはSQL文の中では当てはまりません。代わりに、パーセント記号(%)を使用します。
SELECT文に追加すると、job_titleが 'P%' 4、max_salary <14000 5 order by max_salary ASCのジョブ3から、
SQL> lower(job_id)、upper(job_title)title、max_salary 2を選択します。; LOWER(JOB_ITAL MAX_SALARY ---------- ----------------------------------- ---------- pu_clerk PURCHASING CLERK 5500 ac_account PUBLIC会計士9000 it_prog PROGRAMMER 10000 pr_rep PUBLIC RELATIONS REPRESENTATIVE 10500
この場合、データがどのように格納されているかが必ずしも重要ではないことが実証されていますので、表示することができます。job_idとjob_titleの列名が出力に表示されます。
Oracleは自動的に、列見出しにSELECT句で入力したものを使用します.2番目の列のjob_titleでは、エイリアス "の出力を作るには少しきれいです。
エイリアスは、列のコンストラクトの後でカンマの前に来ます。この例では、
title が別名です。エイリアスは、二重引用符( "")を置かない限り、常に大文字になります。エイリアスが複数の単語である場合は、二重引用符も使用する必要があります。たとえば、 SQL>上の(job_title) "job title" 2をジョブ3から選択します。ここで、job_titleは 'P%'と同じです。役職-----------------------------------公職公認会計士の買収職員プログラマー広報関係代表者 > ANDステートメントの使用は、WHERE句の構文です。 ANDステートメントを使用すると、複数の条件を使用してデータを制限できます。
最後に、ORDER BY句は、データ型に応じて、指定された列の出力を数値またはアルファベット順にソートします。デフォルトでは、昇順にソートされます。説明のためにASC(昇順)キーワードが追加されました。DESCを使用して、結果をmax_salaryの降順に並べ替えることができました。