MySQL/検索操作

テーブルを結合する

2個結合

SELECT
    *
FROM
    hoge AS h
LEFT OUTER JOIN
    piyo AS p ON h.id = p.id

基本的にレコード数が一番多いメインとなるテーブルをまずもってきてそれに結合するのように記述するとレコードの増加が無いのでわかりやすくなる。

3個結合

SELECT
    *
FROM
    hoge AS h
LEFT OUTER JOIN
    piyo AS p ON h.id = p.id
LEFT OUTER JOIN
    fuga AS f ON h.id = f.id

ソートする

任意の順番でソートする

MySQLには任意の順番でソートする構文がある

SELECT
    *
FROM
    hoge
ORDER BY
    FIELD(piyo_id, 3, 2, 5, 4, 1)

FIELDキーワードに続いてカラム名、昇順を定義するための値をズラズラ並べる。 この定義は全部網羅する必要はなく、レコードとして合致しないものはソートの対象にならない(昇順では上に上がってこない)。

バージョン

  • 2012-04-09 新規

タグ

db/mysql/select_ope.txt · 最終更新: 2018-03-13 09:55 by ore