タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

tipsとsqlに関するbonlifeのブックマーク (2)

  • SQLで集合演算:CodeZine

    はじめに SQLが集合論に立脚する言語であるということは、この連載で一貫して強調してきたテーマの一つです。その特性のゆえに、SQLは「集合指向言語」と呼ばれていますし、実際、集合的な観点から見たときに初めて、その強力さが理解できると私は考えています。しかし現実には、SQLのこの側面は長らく無視されてきました。 その背景には、SQLにも責任の一端があります。というのも、SQLはちょっと前まで、高校で習う程度の基的な集合演算子すら持っていなかったからです。和(UNION)こそSQL-86からの古参ですが、交差(INTERSECT)と差(EXCEPT)が標準に入ったのはSQL-92ですし、除算(DIVIDE BY)が未だに標準化されていないことは、前にも述べました。だから、SQLが言語として不完全だという批判は、理由のないものではなかったのです。 しかし、現在では標準SQLに基的な集合演算子

  • 相関サブクエリで行と行を比較する:CodeZine

    はじめに SQLでは、同じ行内の列同士を比較することは簡単にできます。普通にWHERE句に「col_1 = col_2」のように書けばよいだけですから。一方、異なる行の間で列同士を比較することは、それほど簡単ではありません。ですがそれは、SQLで行間比較ができないということではありません。手続き型言語とはかなり異なる発想に基づいていますが、SQLでもそうした処理を記述することが可能です。 SQLで行間比較をする際に威力を発揮するのが相関サブクエリ、特に自己結合と組み合わせた「自己相関サブクエリ」です。稿では、この技術を使った行間比較の応用方法を、具体例を通して解説します。稼働環境OracleSQL ServerDB2PostgreSQLMySQL(バージョン4.1以上) 対象読者 相関サブクエリの基的な使い方を知っている方。CASE式、自己結合、スカラ・サブクエリについての知識があると

  • 1