|











|
 |
SELECT
|
|
|
1.目次
2.SELECT 文
3.SELECT 構文
4.集計関数
5.あいまいな条件抽出
6.範囲の指定
7. 論理演算子
8.JOIN
8.1 INNER JOIN
8.2 LEFT_OUTER_JOIN
8.3 RIGHT OUTER JOIN
8.4 FULL_OUTER_JOIN
8.5 CROSS JOIN
|
|
|
| 操作 |
T-SQL例 |
| すべてのレコードを表示 |
SELECT * FROM 郵便番号 |
| 列名を指定してレコードを検索 |
SELECT 都道府県 AS 県名 FROM 郵便番号 |
| 特定のレコードを検索 |
-- 郵便番号を番号とする SELECT 郵便番号 AS 番号 FROM dbo.郵便番号
WHERE 都道府県 = '東京都' |
| あいまいな列名を指定してレコードを表示 |
SELECT 都道府県 AS 県名 FROM 郵便番号 WHERE 都道府県 LIKE '%県' |
| ある範囲を表示 |
SELECT 郵便番号 FROM 郵便番号 WHERE 郵便番号 BETWEEN '1230000' AND
'1239999' |
| 重複しないで表示する |
SELECT DISTINCT 都道府県 AS 県名 FROM 郵便番号 |
| 特定のグループごとに表示 |
SELECT * FROM 郵便番号 GROUP BY 都道府県名 |
| 昇順ソートして表示 |
--郵便番号で昇順のテーブル SELECT * FROM 郵便番号 ORDER BY 郵便番号
|
| 昇順ソートして表示 |
--郵便番号で昇順のテーブル SELECT * FROM 郵便番号 ORDER BY 郵便番号
ASC |
| 降順ソートして表示 |
--郵便番号で降順のテーブル SELECT * FROM 郵便番号 ORDER BY 郵便番号
DESC |
| 集計 |
--都道府県ごとに割り振られている郵便番号の数を集計 SELECT 都道府県,
COUNT(郵便番号) FROM dbo.郵便番号 GROUP BY 都道府県 |
| 特定の条件で集計 |
--都道府県ごとに割り振られている郵便番号の数が3000以上のものを集計 SELECT
都道府県, COUNT(郵便番号) FROM dbo.郵便番号 GROUP BY 都道府県 HAVING COUNT(郵便番号)
>= 3000 |
| 2つ以上のテーブルの結合 |
--港区と新宿区の郵便番号のテーブル SELECT * from dbo.郵便番号 WHERE
市区 LIKE '港区' UNION SELECT * from dbo.郵便番号 WHERE 市区 LIKE
'新宿区' |
|
|
|
SELECT select_list FROM table_source [ WHERE search_condition
] [ GROUP BY group_by_expression ] [ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]
|
|
|
| 集計関数 |
T-SQL例 |
| SUM |
合計 |
| COUNT |
データの個数 |
| MAX |
最大値 |
| MIN |
最小値 |
| AVG |
平均値 |
|
|
|
| LIKE 構文 |
| match_expression [
NOT ] LIKE pattern [ ESCAPE escape_character ] |
| ワイルドカード |
説明 |
| % |
-- 0文字以上の任意の文字列にマッチ WHERE title LIKE
'%computer%' |
| _ |
-- アンダースコア 任意の1文字にマッチ |
| [ ] |
-- 指定した範囲の1文字にマッチ [a-f]、[abcdef]は、a, b, c,
d, e, f のどれか1文字にマッチする。 |
| [^] |
-- 指定した範囲以外の1文字にマッチ [^a-f]、[^abcdef]は、a, b,
c, d, e, f 以外の1文字にマッチする。 |
|
|
|
| BETWEEN 構文 |
| test_expression [
NOT ] BETWEEN begin_expression AND end_expression |
| 操作 |
T-SQL例 |
| BETWEEN 範囲指定 |
SELECT ID, 都道府県 FROM dbo.都道府県
WHERE ID BETWEEN 10 AND 15 |
| > < 範囲指定 |
SELECT ID, 都道府県 FROM dbo.都道府県
WHERE ID > 10 AND ID < 15 |
| NOT BETWEEN 範囲指定 |
SELECT ID, 都道府県 FROM dbo.都道府県
WHERE NOT ID BETWEEN 10 AND 15 |
|
|
|
| ワイルドカード |
説明 |
| AND |
論理積 |
| OR |
論理和 |
| [ ] |
-- 指定した範囲の1文字にマッチ [a-f]、[abcdef]は、a, b, c,
d, e, f のどれか1文字にマッチする。 |
| [^] |
-- 指定した範囲以外の1文字にマッチ [^a-f]、[^abcdef]は、a, b,
c, d, e, f 以外の1文字にマッチする。 |
|
|
|
| JOINの種類 |
説明 |
| INNER JOIN |
内部結合 |
| LEFT OUTER JOIN |
左外部結合 |
| RIGHT OUTER JOIN |
右外部結合 |
| FULL OUTER JOIN |
完全外部結合 |
| CROSS JOIN |
クロス結合 |
以下の例では、次の2つのテーブルを使用した場合のそれぞれのJOINの結果を示します。

|
|
|

|
|
|

|
|
|

|
|
|

|
|
|
この場合、社員テーブルが5行、部署テーブルが6行なので、5X6で30行できる。
|
|