|
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行できる。
|