質問 昨日、データベースSQLを書いているときに問題が発生しました。問題の根本は、SQL ステートメント内の AND キーワードと OR キーワードの実行優先順位にあります。この問題をテストしてみましょう。 シナリオ 1. 学生テーブル Student があり、テーブルフィールドには Id (ユーザーの主キー)、Name (ユーザー名)、Grade (学年)、Class (クラス)、Sex (性別) が含まれます。次のように: テーブル構造 2. 次のように 10 個のテスト データをテーブルにインポートします。 テーブルデータ 3. 次に、1 年生の女子生徒のうち女子である生徒、または 2 年生の女子生徒のうち女子である生徒を見つける必要があります。 SQL ステートメントは次のとおりです。 実行結果 実行結果では、2年生に男子生徒も見つかりましたが、これは明らかに誤りです。 4. SQL ステートメントを変更し、括弧を追加します。次のように: 性別が「女」かつ (学年=1 または クラス=2) である生徒から * を選択します SQLクエリの結果は要件を満たしている 分析する 上記のシナリオから、問題の鍵は AND と OR の実行順序にあります。 1. 性別 = '女性'、学年 = 1 2. クラス=2 これは、1 年生の女子生徒と 2 年生の生徒を見つけることを意味します。元のクエリの要件を満たしていません。 1. 性別 = 「女性」 2. (学年=1またはクラス=2) 以下もご興味があるかもしれません:
|
<<: Linux(中心OS7)は、Java Webプロジェクトの実行環境を構築するためにJDK、Tomcat、MySQLをインストールします。
>>: axios を使用してプロジェクト内の複数の繰り返しリクエストをフィルタリングする方法
1. 表タグはtable、trは行、tdはセル、cellspacingはセル間の距離、cellpad...
最近の勉強で、GitHub でレイアウトの練習をいくつか見つけたのですが、レイアウトにまったく慣れて...
インターネット上のインストール情報は不均一で、落とし穴だらけです。インストールにはかなりの労力がかか...
目次1. コマンド2. docker-compose.yml 3. Dockerファイル4. 直接変...
MySQL 8.0.12のインストールと設定方法を記録してみんなで共有します。 1. インストール1...
1 はじめにApache Storm は、Hadoop と同様に、大量のデータを処理するために使用で...
序文この記事では主に、MySQLに大量のデータを挿入する4つの方法を紹介し、参考と学習のために共有し...
各浮動小数点型のストレージ サイズと範囲は、次の表に示されています。タイプサイズ範囲(符号付き)範囲...
bitronix を使用して MySQL に接続するときの MySQLSyntaxErrorExce...
序文負荷分散には nginx を使用します。アーキテクチャのフロントエンドまたは中間層として、トラフ...
Docker ベースのデータベースをデプロイするsudo docker pull influxdb ...
Springboot プロジェクトをサーバーにデプロイする方法としては、war パッケージにパッケー...
幅: 自動子要素(コンテンツ+パディング+境界線+余白を含む)は、親要素のコンテンツ領域全体を埋めま...
目次1. MySQLデータのバックアップ1.1、データをバックアップするためのmysqldumpコマ...
目次1. HBuilderXビジュアルインターフェースを通じて2. vue-cliコマンドで実行する...