この章では、SQLクエリでのエイリアスの使用だけでなくどのようにデータがフォーマットされるべきかを説明しています。
それぞれの表[テーブル]の属性には、データ種類がある。例えとして、「従業員」の表[テーブル]を見てみましょう。苗字、名前のデータ種類は、文字列で、開始と終了は、日付で、IDと子供の人数のデータ種類は、整数で、給料のデータ種類は、フロート(浮動小数)です。
SQLクエリでは、データの形式は、データの種類によって決まります。
1. 日付
日付データ型の属性は、例えばこのように形成されます。 '2014-01-22'
.
2008年1月1日から2013年12月31日までを含む期間を働いた全ての従業員に関するデータを取得したいとします。
SELECT *
FROM Employee
WHERE Start >= '2008-01-01' AND End <= '2013-12-31'
以下の表が取得できます。
{{h}} |
---|
{{r}} |
2. 数(整数と浮動小数)
数のデータ型の属性は、例えばこのように形成されます : 3
.
子供の人数が3とは異なる、全ての従業員のデータが欲しいと仮定しましょう。
SELECT *
FROM Employee
WHERE Kids_number <> 3
以下の表が取得出来ます。
{{h}} |
---|
{{r}} |
3. 文字列
文字列のあるデータ型の属性は、例えば下記のような方法で形成されます。 'Marketing'
.
また二重引用符も使用されます、特に下記のような1つの引用符が言葉に含まれている場合。: "O'Connor"
.
文字列内での検索は、LIKE
節によって行うことが出来ます。例えば、名前にAnne というサブストリング(部分列)が含まれる従業員のデータが欲しいと仮定しましょう。
... WHERE First_name LIKE '%Anne%'
このコードは、例えばAnne-Marie, Annetteまたは単にAnneという名前の従業員にヒットします。
4. NULL値
属性にNULL
値があるかのテストは、以下のように行うことが出来ます。: IS NULL
.
もう会社の一員でない全ての従業員に関するデータが欲しいと仮定しましょう。
SELECT *
FROM Employee
WHERE End IS NOT NULL
以下の表が取得できます。
{{h}} |
---|
{{r}} |
5. エイリアス
属性の名前または表[テーブル]の名前は、エイリアスと呼ばれるラベルとして割り当てることが出来ます。エイリアスは、AS
節を使用することによって設定できます。
これがどこで役に立つかという一つの例は、クエリ結果でのヘッダーのカスタマイズです。苗字と名前の両方のタイトル欄を結果でドイツ語に変更するとしましょう。
SELECT First_name AS Vorname, Last_name AS Name
FROM Employee
WHERE Last_name = 'Sasaki' AND First_name = 'Ryoko'
以下のうような表が取得できます。
{{h}} |
---|
{{r}} |
エイリアス使用の他の例としては、処理する表[テーブル]の名前をより簡便にすることです。必要なデータがたくさんの異なった表[テーブル](結合を参照)に由来する時、表の名前は、属性の名前の前に置かれなくてならない。(例. Employee.First_name
) エイリアスを使用することで表[テーブル]の名前を短くすることができます。例えば、
SELECT emp.First_name, emp.Last_name, dep.Name
FROM Employee AS emp, Department AS dep
は、
SELECT Employee.First_name, Employee.Last_name, Department.Name
FROM Employee, Department
よりも便利です。