問題タブ [inner-join]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - SQL INNER JOIN 構文
以下の 2 つの SQL は同じ結果を取得します。
さまざまな会社で両方のスタイルが標準として使用されているのを見てきました。私が見た限りでは、オンラインで最も多くの人が推奨しているのは 2 番目です。スタイル以外にこれの本当の理由はありますか?内部結合を使用するとパフォーマンスが向上する場合がありますか?
Ingres と Oracle の開発者は最初のスタイルを使用する傾向があり、Microsoft SQL Server のユーザーは 2 番目のスタイルを使用する傾向があることに気付きましたが、それは単なる偶然かもしれません。
洞察をありがとう、私はしばらくこれについて疑問に思っていました。
編集: 間違った用語を使用していたため、タイトルを「SQL 内部結合とデカルト積」から変更しました。これまでのすべての応答に感謝します。
php - MySQL クエリの何が問題になっていますか?
マイナーなパフォーマンスの問題など、エラーは発生していません。
どのテーブルが参照されているかを見ると、すべて問題ありませんが、「値」フィールドのみを選択する必要があるtable4から、ALLが呼び出されています...
ご覧のとおり、最終テーブル (d) から * を選択しています。そこから選択された 1 つのフィールドだけが必要なのに、なぜこれを行うのですか? 誰でも私を助けることができますか?
mysql - mysqlで内部結合と外部結合をどのように組み合わせるか
私はsybaseでそれを行うことができ、oracleでそれを行うことができますが、mysqlでそれを行う方法がわかりません。
私はこれを持っています:(私のSQLを再フォーマットしないようにしてください、前回誰かがそれを変更したので同じではなく、質問を無意味にしました)
そして、私は意味をなさないあらゆる種類の結果を得る。
table2.data = catであるtable1からすべてのIDのリストを取得し、table3.data=dogであるtable3に対してその結果を使用して外部結合を実行したいと思います。
2つの結合句でtable1に同じテーブル/エイリアスを指定できないことに気付きました。そのため、mysqlは結合式を個別に実行し、結果をORで結合していると思います。
また、fromセクションの「innerjoin」を削除してwhere句に入れてみましたが、これも機能しませんでしたが、別の方法では機能しませんでした(異なる誤った結果が得られました)
これは、sybaseまたはoracleでは非常に簡単です。
私は何が間違っているのですか?
sql - この SQL ステートメントが機能しないのはなぜですか?
それはうまくいきません。SQLステートメントに2つの「AND」を含めることはできませんか??
//トメック
mysql - MySQL 結合クエリのヘルプ
基本的に、次のようなmysqlクエリがあります。
そして、投稿テーブルからタイトルを取得し、投票テーブルから現在の投票値を取得する必要があります。
現時点では、投票が行われない限り、投票は投票テーブルに保存されません。したがって、投票数が 0 のすべての投稿は投票テーブルに含まれていません。
これにより、投稿 ID = 投票値 ID であるタイトルと投票値を取得しようとしているというエラーが発生します。投票テーブルにレコードがない場合、値は NULL または 0 として返されるはずですが、現時点ではクエリ全体が null として返されるため、タイトルを返すことさえできません。
これをすべて1つのクエリで修正するにはどうすればよいですか? 複数のクエリを使用する必要はありません...ありがとう:)
sql - SQL製品/製品販売
一般的な(私が推測する?)タイプのクエリ:
2 つのテーブル ('products'、'productsales') があります。「productsales」の各レコードは販売を表します (したがって、「date」、「quantity」、「product_id」があります)。次のようなクエリを効率的に作成するにはどうすればよいですか。
日付 Y から日付 Z の間に X 回以上販売されたすべての製品の製品名を取得します。
(Xは取引数ではなく販売数量です)
sql - SQLクエリ:大きなテーブル間の内部結合の最適化
MySQL4.xDBには次の3つのテーブルがあります。
- ホスト:(300.000レコード)
- id(UNSIGNED INT)主キー
- 名前(VARCHAR 100)
- パス:(6.000.000レコード)
- id(UNSIGNED INT)主キー
- 名前(VARCHAR 100)
- URL:(7.000.000レコード)
- host(UNSIGNED INT)PRIMARY KEY<---hosts.idへのリンク
- path(UNSIGNED INT)PRIMARY KEY<---paths.idへのリンク
ご覧のとおり、スキーマは非常に単純ですが、問題はこれらのテーブルのデータ量です。
これが私が実行しているクエリです:
このクエリは完全に正常に機能しますが、実行には50分かかります。誰かが私がそのクエリをどのようにスピードアップできるかについて何か考えがありますか?
前もって感謝します。ニコラス
sql - SQLクエリが機能しない理由を誰かに教えてもらえますか(詳細を参照)?
次のクエリを使用して重複を見つけました。
次に、内部結合を追加して、一致するユーザー名が別のテーブルに格納されていることを確認できるようにしました。
しかし、users.firstnameが何らかの集計関数などの一部ではないというエラーが表示されました...
カウントを取得し、複数の部門を持つユーザーのみを表示し、他のテーブルから姓名を取得して、複数の部門が割り当てられているユーザー名のリストを取得する方法を知っている人はいますか?
編集:これは私のために働くことになった質問です...
sql - SQL クエリを最適化する
このクエリを最適化するためにさらに何ができますか?
私はMySQLを使用しています
ありがとう
sql - JOINとINNERJOINの違い
これらの結合は両方とも同じ結果になります。
vs
パフォーマンスなどのステートメントに違いはありますか?
異なるSQL実装間で違いはありますか?