タグ

SQLとsqlに関するh1saoのブックマーク (64)

  • vimから直接DB触ったりSQL補完したり - Qiita

    vimから直接データベースを触る場合は、dbext.vimを使用すれば良いとのこと。 今回接続したいのDBSQLiteだけだが、dbext.vimはその他多くのDB(Oracle, Sybase, Microsoft, MySQL, DBI,..)に対応しているとのこと。 dbextのインストール 公式のバージョンは20.0だが、githubには19.0までが上がっている。 ただし19.0で加えられた修正に少し問題があったため、ここでは特にこだわりもないため18.0を使用した。 (具体的にはcmd_terminatorの定義に問題あり。明示的にcmd_terminatorを指定するなどで回避はできる) 接続設定 接続先の指定方法には何種類かの方法があるが、 接続パラメータをまとめた接続プロファイルを使用するのが簡単かと思う。 接続パラメータを個別に.vimrcに設定 接続プロファイルを.

    vimから直接DB触ったりSQL補完したり - Qiita
    h1sao
    h1sao 2015/03/21
  • 外部結合の使い方

    はじめに SQLに対するよくある誤解の1つに、「SQLは帳票作成のための言語だ」というものがあります。確かに、SQLは定型・非定型を問わず、さまざまな帳票や統計表を作成するシステムで利用されています。そのこと自体に問題はありませんが、エンジニアにとってもSQLにとっても不幸なことは、SQL来の用途ではない結果のフォーマット整形までがSQLに求められることです。あくまでSQLはデータ検索を目的に作られた言語だからです。 しかし同時に、SQLは多くの人が考えているよりずっと強力な言語です。特に近年は、そうした用途にも対応すべく、OLAP関数をはじめとするレポート作成のための機能が多く取り入られるようになりました。システム全体としてソースを簡略化でき、十分なパフォーマンスを得られるなら、SQLの力を利用する価値は十分にあります。 稿では、外部結合(OUTER JOIN)を利用したフォーマッ

    外部結合の使い方
    h1sao
    h1sao 2015/02/04
  • SQLのジョインを可視化してくれる「SQL Joins Visualizer」 | ソフトアンテナ

    SQLを使い始めて最初に戸惑うのが、複数のテーブルを様々な条件で結合する「ジョイン」の概念かもしれません。「SQL Joins Visualizer」はこのジョインの概念を分かりやすく可視化してくれるサイトです。 画面左側のベン図を操作するとそれに対応したSQLを表示してくれるので、あれこれなんだっけ?というときに参照すると役に立ちそうです。 例えばテーブルAを完全に含む結果を取得したい場合「LEFT JOIN」を使えば良いことが分かります。画面下には説明も(英語ですが)表示されます。 またAとBどちらにも含まれる結果を取得した場合「INNER JOIN」を使えば良いことがわかります。他にもあらゆるパターンを確認することができます。うっかり勘違いしてJOINしていないかどうか確認したいときにどうぞ。

    SQLのジョインを可視化してくれる「SQL Joins Visualizer」 | ソフトアンテナ
  • RとSQLを対応付けてみた - あらびき日記

    この記事は abicky.net の RとSQLを対応付けてみた に移行しました

    RとSQLを対応付けてみた - あらびき日記
  • 自己結合の使い方

    はじめに SQLが提供する結合演算には、その特徴に応じて内部結合、外部結合、クロス結合などさまざまな名前が与えられています。普通、これらの結合の多くは、異なるテーブルまたはビューを対象として行われます。しかし、SQLは結合が同一のテーブルまたはビューに適用されることを禁止していません。同一のテーブルを対象に行う結合を「自己結合(self join)」と呼びます。自己結合は、使いこなせば非常に便利な技術ですが、動作がイメージしにくいため敬遠されがちです。そこで稿では、この自己結合の便利さを例題を通して学び、その動作を分かりやすく解説します。 自己結合を理解することは、実務上のテクニックを身につける以外に、もう一つ利点があります。それは、集合指向(set-oriented)というSQLの重要な特徴を理解できることです。オブジェクト指向言語が世界をオブジェクトとして表現するように、SQLは世界

    自己結合の使い方
  • 第2回 SQL流条件分岐(2) 列の交換 | gihyo.jp

    言い方を変えると、順序を意識した「順序集合」を、順序を無視した「非順序集合」へ変換する、ということです。あるいは、学校で習った馴染み深い表現を使うなら、順列(Permutation)を組み合わせ(Combination)へ変換するのです。 CASE式を使えばこんなことも朝飯前です。リスト3のクエリを見てください(図3は実行結果⁠)⁠。 リスト3 組み合わせ⇒順列(重複行排除前) SELECT CASE WHEN item_1 < item_2 THEN item_1 ELSE item_2 END AS c1, CASE WHEN item_1 < item_2 THEN item_2 ELSE item_1 END AS c2 FROM Perm2; 図3 リスト3の実行結果 c1 c2 --------- --------- 時計 浄水器 携帯電話 携帯電話 時計 浄水器 携帯電話 携

    第2回 SQL流条件分岐(2) 列の交換 | gihyo.jp
  • SQLで、複数テーブルから他方に無い(存在しない)レコードを抽出する

    たまに必要に駆られるのが、2つのテーブルを比較して、1つのテーブルには存在するが、もう一方のテーブルにはないレコードを抽出するというもの。 いくつか方法がありますが、今回は主な2つをご紹介。特に②の方法が汎用的で、原理を覚えておくと、様々な場面で応用がききます。 ①差集合演算を使う・・・簡単ですが、比較するテーブルの列数、型を合わせる必要あり。 ②SQLのみで抽出・・・汎用的に使えます。一度原理を覚えると応用がききます。 はじめにデータを用意 では、さっそくやってみます。比較するテーブルは、この記事で用意した【売上テーブル】と【顧客テーブル】を使うことにしましょう。 各々のテーブルには以下のようにデータが入っていることにします。 ①差集合演算を使う 各DBには演算のための組み込み関数があり、差分を演算するものもあります。 PostgreSQLOracleDB2・・・minus MySQ

    SQLで、複数テーブルから他方に無い(存在しない)レコードを抽出する
    h1sao
    h1sao 2014/11/06
  • SQLデータベースに正しインデックスを作るのは 誰の役割?

    SQLのパフォーマンス問題は、SQLそのものと同じぐらいの歴史がある―― ある人は、SQLはそもそも遅いものだとすら言うかもしれません。これは、SQL歴史が始まった頃は正しかったかもしれませんが、今となっては全く 当てはまらないでしょう。にもかかわらず、SQLのパフォーマンス問題は今も一般的でよくあることです。どうしてそうなってしまうのでしょうか? SQL言語は、恐らく最も成功した第4世代言語(4GL)でしょう。その最大の利点は、「何を」と「どのように」 を分離できることです。SQL文は、どのようにそれを実行するかを記述せずに、単純に 何を必要としているかのみの記述になっています。以下のような例を考えてみましょう。 SELECT date_of_birth FROM employees WHERE last_name = 'WINAND'SQLのクエリは、データを要求する英語の文として読

    SQLデータベースに正しインデックスを作るのは 誰の役割?
  • accessclub.jp - このウェブサイトは販売用です! - アクセスクラブ リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

  • Big Sky :: VimでDBが操作できる vdbi-vim 作った。

    DB操作ツール Emacs DBI を作ってみた - 技術日記@kiwanami このツールの目的は、クロスプラットフォームで便利なDB操作環境を実現することです。 pgAdmin や MySQL Query Browser のようなGUIの良さをCUIで実現してみようとしてみました。すなわち、ぼくのかんがえたさいきょうのDBツールです。ちなみに、このツールにとってEmacsはただの実行環境です。Emacs使わない人でも使うと便利だと思います。 http://d.hatena.ne.jp/kiwanami/20120305/1330939440 VimもーVimもー! って事で作りました。 mattn/vdbi-vim - GitHub Database client for Vim https://github.com/mattn/vdbi-vim Emacs版はepcというRPCプロト

    Big Sky :: VimでDBが操作できる vdbi-vim 作った。
    h1sao
    h1sao 2014/09/30
  • サービス終了のお知らせ - NAVER まとめ

    サービス終了のお知らせ NAVERまとめは2020年9月30日をもちましてサービス終了いたしました。 約11年間、NAVERまとめをご利用・ご愛顧いただき誠にありがとうございました。

  • SQLとはどういう言語か

    SQLは何となく苦手」という人は意外と多いものです。すでに何らかのプログラミング言語を習得している人を見ても、SQLを苦手としている人は少なくありません。そこで、実際にSQLを入力して結果を見ながら学習する連載を始めます。用意するのはインターネットにつながったWebブラウザだけ。気軽に始めてみてください。(編集部) 皆さんこんにちは。今日から始まるこの連載は、すぐに試せるリレーショナルデータベース管理システム(RDBMS)の環境を使って、実際に操作しながらSQLを体得していただく実践型のSQL講座です。詳しくは後述しますが、あなたのパソコンにRDBMSをインストールする必要もありません。Webブラウザさえあれば、気軽に試していただけます。 「SQLを勉強したいけれど、どこから手を付けたらいいのか……」とちょっと途方に暮れている方や、「普段の業務でSQLを使っているけれど、いつもその場しの

    SQLとはどういう言語か
  • Access SQL初心者入門講座

    JavaScript初心者入門講座 を次のステップとしてご活用ください。データベースはAccessを使っています。 ・より格的なデータベースを学びたい場合は MySQL初心者入門講座 をおすすめします。 AccessでSQL文を学ぶ時には、SQLリファレンスが一冊あると便利です。 リファレンスとは「参照する」という意味です。 プログラミングの学習で言えば、「使い方が書かれた」と考えればよいでしょう。 つまり、SQL文の辞書的な使い方をするです。 なぜリファレンスが必要なのか? Accessで使えるSQL文を知ること、調べることにはもちろん便利なのですが、 他にも大きなメリットがあります。 例えば、他のデータベースではどんな風にSQL文を書くのかとか、 他のデータベースで使える便利な機能などが、いろいろ比較できるからです。 Accessで難しいことが、他のデータベースでは簡単にできた

    Access SQL初心者入門講座
  • accessclub.jp - このウェブサイトは販売用です! - アクセスクラブ リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

  • エロゲーマーのためのSQL -エロゲーマーのためのSQL-

    SQLはデータベースからデータを抽出したりするための言語です。 この文書は、ErogameScapeのデータベースからSELECTを使って自由自在にデータを取得できるようになることを目標にします。 エロゲーをやりはじめる大学生くらいのときに、大学の講義でデータベースを学んで、退屈だなーと思った時に、ErogameScapeでSQLを学ぶことで、少しでもSQLに興味を持って、自身でデータを加工することを学習して頂けると幸いです。 ※私の大学のリレーショナルデータベースの授業では、自分の身の回りの何かをER図に落とし込んで、DBを設計し、PostgreSQLに実装し、実際にデータを入力してSELECTしてみるところまでをやりました。 ER図という概念を学んだとき「ああ、これは面白い」と思いました。 先生はこう言ったのです。 「ER図に落とし込むと、思いもよらなかったことが分かる。」と。 当時、

  • 初級〜中級者のためのSQL特訓 - 忘れないようにメモっとく

    ほぼほぼ初心者でSQLの練習がしたいっていう人、知識の再確認をしたい人にオススメのサイト。 SQLZOO ブラウザ上で動作するので、めんどくさい環境設定もなし。 データベースも、MySQLOracleSQL Server、Postgre、Ingres、DB2から選べる。 簡単なSELECT文から始まって、SUMやCOUNTみたいな基的な関数の問題や、JOINを使ったちょっと難しめの構文もある。 実行環境付きのリファレンスもあるのがよい!(超便利!)

    初級〜中級者のためのSQL特訓 - 忘れないようにメモっとく
  • 俺のMySQL秘伝スクリプトが火を噴くぜ #mysqlcasual - onigra.github.io

    俺のMySQL秘伝スクリプトが火を噴くぜ #mysqlcasualDecember 8, 2013 by Yudai Suzuki このエントリーはMySQL Casual Advent Calendar 2013 8日目の記事です。 というわけで、僕が仕事で書いた秘伝のタレの一つを紹介します。 まず、秘伝のタレを作った背景というのが、先日mysqlcasualでLTした IBM DB2からMySQLへの移行 の中で、唯一移行できなかったマーケティングの用途で使用されているDBにあります。 移行できなかった理由は、もういない人が残していった謎の集計用バッチが大量に動いており、何をしているのかわかる人もおらず、当然ドキュメントも残っていないため、動かすことができなかったからでした。 とはいえ、このままDB2を使い続けるわけにはいかなかったので、僕がブラックボックスに手を入れることになりました

  • リレーショナル・データベースの世界

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • SQL講座

    データベースの種類と概要 リレーショナル型・データベースをはじめデータベースの種類とその概要の解説 SQLの概要 SQLの構成などSQLの概要 リレーショナル・データベースの関係演算 リレーショナル型・データベースの関係演算である選択、射影と結合の解説 「データベース/スグ解る!最新「データベース」機能」 キーマンズネットのデータベースの基礎の解説 Accessで試してみよう C言語やVisual Basicなどのプログラム言語の習得と同じで、SQLも実際にSQL文を入力して実行することでより早く、確実にマスターすることができる。ここではAccessでSQLを実行する方法を解説している。 MySQLで試してみよう 無料で使えるMySQLでデータベースとSQLを操作する方法を解説 MySQLのダウンロード MySQLのダウンロード方法 MySQLのインストール MySQLのインストール方法の

  • 忙しいあなたのためのSQL入門---目次

    この連載は,これからデータベース・システムの開発を始める人,あるいは実際には開発にかかわらなくても,基礎知識の一つとしてデータベース・システム関連の用語の意味を知りたい人を対象として,短期間でSQLとデータベースの全体像を把握していただくことを目的としたものです。 第1回(1) SQLを学ぶ前に(1) 第1回(2) SQLを学ぶ前に(2)SQLがなぜ必要なのか? 第1回(3) SQLを学ぶ前に(3)リレーショナル・データベースとは 第2回(1) SQLの基礎(1)SQLの基構文 第2回(2) SQLの基礎(2)SQLのデータ型はDBMSに依存する 第3回(1) SELECT文を制する者はSQLを制す(1)SELECT文を使いこなそう 第3回(2) SELECT文を制する者はSQLを制す(2)論理演算子AND,OR,NOT 第4回(1) 挿入,更新,削除,及びSQLの関数(1)データの挿入

    忙しいあなたのためのSQL入門---目次