2017-11-15 3 views
3

いくつかの基本的なSQLトレーニングのために新しいスターターをいくつか送ってきました。最初のテーブルではA、2番目のテーブルではBというように名前を変更しました。 - を入力して速かった - あなたが始まる文字を使用する場合は、問題に遭遇し、あなたが私の意見では、同じ名前でFROM句にテーブルが追加された順序に基づいて、SQLクエリでテーブルエイリアスとしてA B Cを使用する利点は何ですか?

を開始するテーブルを持っている場合、これは真剣に読みやすさを犠牲に :そのうちの一つは、彼らは言われていたと述べましたクエリと私はおそらく彼らが書いているコードを見直す人になるだろう。複数のテーブルがある場合や、テーブル名が省略されている場合は、最初の文字と数字のどちらかを使用するように指示する前に、何か不足していないことを確認したいだけです。ほとんどの場合、テーブル名は5〜8文字しかないので、テーブルを何も記述していない別名よりもフルネームを使用することをお勧めします。

その他の利点はありますか?

+1

このような怠け者は私を怒らせます。あなたのエイリアスには何かを短く記述的な名前にして、私は「d ... d ...のようにする必要はありません。それはひどいケース・ステートメントでお客様の請求書に集計されたものです。 'ci_agg'や' cia'や 'ci'と呼ぶだけです。私にある種の骨を投げる。 – JNevill

+3

私は、a、b、cを使うのは恐ろしい考えだと主張します。この質問は主に意見に基づくものとして最も確実に閉鎖されるが、そのトレーニングを提供する人々は取り戻され、殴られる必要がある。そのようなクエリをデバッグするには、特に十数個以上のテーブルにアクセスするときは、深刻なPITAです。 Aaron Bertrandにはこのトピックに関する素晴らしい記事があります。 http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-table-aliases-like-abc-or-t1-t2-t3.aspx –

+2

私は個人的に短いテーブル名でもエイリアスのように。これは、コードの長さを短くし、追跡しやすくします。システムでエイリアスを使い始めると、一貫性のある方法が思いつきます。これは、顧客が常にcまたは同等であることを意味します。 –

答えて

0

だけでなく、私は内側のpup.id = pup2.otherIdの生徒のPUP2に参加する生徒のpupから*例

1.-選択して二つの事実を指すようにしたいと思います。この例では、同じテーブルが2回使用されているため、リンクしているものが正確にわかります。同じテーブルが少なくとも2回リンクされているクエリには本当に便利です。この場合

2.- readability is not a problem if you chose well the alias: 

select * from pupils pup inner join parents payees on 
    parents.id=pupils.parentid 
    inner join parents tutors on pupils.tutorid=tutors.id 

、読みやすさは問題ではないと私はまだ知っていると教師または法定保護者を支払い、親である区別する。

関連する問題