0

しばらくの間、私は常にクエリを 1 行にまとめていました。

SELECT * FROM table WHERE col = value ORDER BY id DESC

を使用しないように何度も言われた*ので、より長いクエリを読みやすくする方法を見つけようとしています。これまでのところ、次のようなものがあります。

SELECT table.id,
       table.type,
       table.name

FROM table

WHERE table.id > $lastId
AND table.type = $type

ORDER BY table.id ASC

これは問題ないように思えますが、確認すべきベスト プラクティスはありますか?

私の MySQL は、PHP のコンテキスト内で行われます。

4

2 に答える 2

2

すべてはあなたにとって何が読めるかにかかっていますが、他の読者にとっても明確でなければなりません。

個人的には、私はこれを行います:

SELECT 
    table.id,
    table.type,
    table.name
FROM table
WHERE table.id > $lastId
    AND table.type = $type
ORDER BY table.id ASC

あなたの例のように読みやすいです。要約すれば:

  • あなたのコードの他のユーザーが何が起こっているかを知ることができるように、SQL を読みやすくしてください。
  • 個人的に快適で使いたいスタイルを使用してください。
于 2012-03-20T01:14:57.643 に答える
2

私はこのようにしています:

SELECT 
    t.id,               //indent fields to pick out
    t.type,
    t.name
FROM 
    table t             //shorter alias (but alias wisely)
WHERE 
    t.id > $lastId      //indent conditions
    AND t.type = $type
ORDER BY 
    t.id ASC            //indent order parameters
于 2012-03-20T01:20:31.437 に答える