SQLの 順序 とはテーブルの内部の番号でしょうか

Writer: admin Type: arte Date: 2019-01-05 00:00
SQLの 順序 とはテーブルの内部の番号でしょうか?共感した0###「順序」が「シーケンス」の意味ならユニークな整数値を返すデータベースオブジェクトです。CREATE SEQUENCE シーケンス名で作成します。ORACLEやPostgreSQL、DB2などで利用可能です。シーケンスを使って得られる数値は増加していきますが、セッションごとに割り当てられトランザクションがROLLBACKすると欠番になります。ここはMySQLのAUTO_INCREMENT、PostgreSQLのserial、SQLSERVERのIDENTITYでも同様です。シーケンスが有用な場面としては、テーブルにINSERTする時点、または直後に値を取得できるので、「伝票」の伝票番号と「伝票明細」の伝票番号のように同一の値を用いたい場合に便利とは言えます。ただ、そうした場合INSERTした結果の自動付番の値を取得できるものが多いので絶対的に優れているとは言えないと思います。シーケンス以外のなにかの「順序」ということでしたら、質問事項を具体的になさってください。ナイス0
###SQLの実行順序は、explain(mysql)か explain query plan(sqlite)をしてみないとわからないです。基本は from on join where group by having select distinct order by limit select の順番で実行されていきます。ただし、a left outer join b where a.slut = 'みかん' とした場合、sqliteでもwhereから実行されます。テーブルが結合されてから、whereで抽出されるという説明になっている場合が多いですが、SQLはデータベース内部のオプティマイザーによってある程度考えられてから実行されるようです。ナイス0
###SQLの順序は、一般的にはテーブル内部の番号ではなく、テーブルとは関係なく常に順序を持ったユニークな値を返す物を指します。ナイス0

 

TAG