第五章 数据查询(二)
5.1 模糊查询 模糊查询提取的数据不一定的确切的,查询者对查询条件也是模糊的、大概的、不特别明确的。例如,只查询张姓学员的信息、只查询分数在60-83分之间的考试成绩、或者只查询北京上海广州地区的学员,这种查询不是指定某个人的姓名、一个具体的分数
5.1 模糊查询
模糊查询提取的数据不一定的确切的,查询者对查询条件也是模糊的、大概的、不特别明确的。例如,只查询张姓学员的信息、只查询分数在60-83分之间的考试成绩、或者只查询北京上海广州地区的学员,这种查询不是指定某个人的姓名、一个具体的分数或者某个固定的地区,因此属于模糊查询。
模糊查询可以使用我们前面已经介绍过的Like、通配符来进行。上一章讲述过的Is Null查询严格说也是一种模糊查询,模糊查询还有基于范围内的查询和在某些列举值内的查询。
5.1.1 使用Like进行模糊查询
在前面我们已经介绍过使用Like来编写约束,Like运算符用于匹配字符串或字符串的一部分(称为子串)。由于该运算符只用于字符串,所以仅与char或varchar数据类型联合使用。
在数据更新、删除或者查询的时候,依然可以使用Like关键字来进行匹配查找,例如,查找姓张的学员:
Select * from Students Where Sname like '张%'
或者查询不是八月份发行的A卡或者C卡:
Select * from Card where ID Like '00[^8]%[A,C]%'
5.1.2 使用BetWeen在某个范围内进行查询
使用关键字Between可以查找那些介于两个已知值之间的一组未知值。要实现这种查找,必须知道开始查找的初值和终值,这个最大值和最小值用单词And分开,例如:
Select * from Score where Score Berween 60 and 80
此外,Between 查询在日期范围的时候使用得比较多。例如,查询不在1992年8月1号到1993年8月1号之间订购的读书列表:
Select * from Sales Where ord_date not Between '1992-8-1' and '1993-8-1'
5.1.3 使用In在列举值内进行查询
查询的值是指定的某些值之一,可以使用带列举值的In关键字来进行查询。将列举值放在圆括号里,用逗号分开,例如查询北京、广州或者上海的学员姓名:
Select Sname as 学员姓名 from Students Where Saddress in ('北京','广州','上海') Order by Saddress
还可以把In关键字和Not关键字合起来使用,这样可以得到所有不匹配列举值的行。
5.2 SQL Server 中的聚合函数
在查询中还会经常碰到的要求是取某些列的最大值、最小值、平均值等信息,有时候还需要计算出究竟查询到多少行数据项。这个时候,查询的“统计数据”是用户比较关心的,SQL Server 提供了“聚合函数”,聚合函数能够基于列进行计算,并返回单个值。
SQL Server 提供了以下几种聚合函数。
1. Sum
Sum返回表达式中所有数值的总和,Sum只能用于数字类型的列,不能够汇总字符、日期等其他数据类型。要得到商务付款的总数,可执行以下查询:
Select Sum(ytd_sales) From titles where type = 'business'
注意这种查询只返回一个数值,因此,不能够直接与可能返回多行的列一起使用来进行查询,例如:
Select Sum(ytd_sales) , Price from titles where type = 'business'
将报告错误信息。但是,在一个查询中可以同时使用多个聚合函数。
2. Avg
Avg函数返回表达式中所有数值的平均值,香港服务器租用,Avg函数也只能用于数字类型的列。例如,成绩表中存在的数据项。
要查询及格线以上的学员的平均成绩,语句如下:
Select Avg(Score) as 平均成绩 from Score Where Score >= 60
3. Max 和 Min
Max返回表达式中的最大值,Min返回表达式中的最小值,它们都可以用于数字型、字符型以及日期/时间类型的列。
例如,查询平均成绩、最高分、最低分的语句如下:
Select Avg(Score) as 平均成绩 , Max(Score) as 最高分, Min(Score) as 最低分 from Score Where Score >= 60
4. Count
Count 返回提供的表达式中非空值的计数,Count可以用于数字和字符类型的列。
另外,也可以使用星号(*)作为Count的表达式,使用星号可以不必指定特定的列而计算所有的行数。
例如,查询及格人数的语句如下:
Select Count(*) as 及格人数 From Score where Score >= 60
5.3 分组查询
5.3.1 使用 Group By 进行分组查询
我们来看一下学员成绩表,成绩表中存储了所有课程的成绩。在这种情况下,可能就需要统计不同课程的平均成绩,也就是说,需要对不同的成绩首先按照课程来进行分组,分组以后再进行聚合计算,得到累计信息。
这种情况应用很普遍,例如一个早餐店,早晨销售包子、油条、米粉等,中午的时候,就需要分类统计包子的销售金额、油条的销售金额、米粉的销售金额,这个时候就需要首先分类,然后在这个类别的基础上分别进行汇总和统计输出。
再具体点,假设学员成绩表中有以下数据。
此时,要统计不同课程的平均分数。首先把相同的CourseID都分为一组,然后把这些相同组对应的分数值再使用前面的聚合函数取平均值(最大值、最小值或者参考人数统计)。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











CakePHP は、データベースのクエリと更新を非常に簡単にする便利な ORM (オブジェクト リレーショナル マッピング) 機能を提供する人気の PHP フレームワークです。この記事では、CakePHP でデータをクエリおよび更新する方法を紹介します。単純なクエリと更新から始めて、条件と関連モデルを使用してより複雑なデータのクエリと更新を行う方法を見ていきます。基本的なクエリ まず、最も単純なクエリの作成方法を見てみましょう。 「Users」というデータテーブルがあり、次のことが必要だとします。

Yii フレームワークは、Web アプリケーション開発のプロセスを簡素化するための多数のツールとコンポーネントを提供するオープンソースの PHP Web アプリケーション フレームワークであり、その重要なコンポーネントの 1 つがデータ クエリです。 Yii フレームワークでは、SQL に似た構文を使用してデータベースにアクセスし、データを効率的にクエリおよび操作できます。 Yii フレームワークのクエリビルダーには主に次の種類があります: ActiveRecord クエリ、QueryBuilder クエリ、コマンド クエリ、独自の SQL クエリ

MySQL と Python: データクエリ機能の実装方法 近年、データの急速な増加により、データのクエリと分析はさまざまな分野で重要なタスクになっています。広く使用されているリレーショナル データベース管理システムとして、MySQL を強力なプログラミング言語である Python と組み合わせることで、高速かつ柔軟なデータ クエリ機能を提供できます。この記事では、MySQL と Python を使用してデータ クエリ関数を実装する方法を紹介し、コード例を示します。まず、MySQL と Python をインストールして構成する必要があります

MySQL と TiDB のデータ クエリおよび分析機能の比較 データ量が増加し続け、アプリケーション シナリオがより複雑になるにつれて、データ クエリおよび分析機能がさまざまなデータ ストレージ システムの中核的な競争力の 1 つになっています。 MySQL はリレーショナル データベースの代表の 1 つとして、スタンドアロン環境で広く使用されています。ただし、ビジネス規模が拡大し続けるにつれて、MySQL には大規模なデータや同時実行性の高いクエリの処理において一定の制限が生じます。 TiDB は、これらの問題を解決する新しい分散データベース システムです。

Workerman で Oracle をデータ ストレージとクエリに使用する方法 概要: Workerman は、リアルタイム通信、インスタント チャット、その他のインターネット アプリケーションで広く使用されている高性能 PHP 開発フレームワークです。 Oracle は、エンタープライズ レベルのアプリケーションで広く使用されている強力なリレーショナル データベースです。この記事では、Workerman でのデータ ストレージとクエリに Oracle を使用する方法を紹介し、具体的なコード例を示します。 1. Oracle 拡張機能をインストールし、Oracle データベースを使用する

PHP を使用してデータ駆動型の動的コンテンツ生成機能を実装する方法 Web サイト開発では、多くの場合、データに基づいてコンテンツを動的に生成する必要があります。広く使用されているサーバー側スクリプト言語として、PHP はデータ駆動型で動的なコンテンツ生成を実現するための豊富な機能とツールを提供します。この記事では、PHP を使用してこれらの関数を実装する方法と、対応するコード例を紹介します。データドリブン データドリブンとは、データベースまたはその他のデータ ソース内のデータに基づいてコンテンツを生成し、動的な表示と対話を実現することを指します。 PHP が提供する

PHP データベース接続を使用してデータのクエリと更新を実装する方法 1. MySQL データベース接続 PHP でデータベース接続を使用する前に、MySQL データベース サーバーが正しくインストールされ、構成されていることを確認する必要があります。次に、PHP を使用して MySQL データベースに接続し、データのクエリと更新操作を実行する方法を学びます。 MySQL のインストールと構成 まず、MySQL データベース サーバーをインストールする必要があります。オペレーティング システムに応じて、MySQL が公式に提供するインストール パッケージを使用するか、統合開発を通じて使用するかを選択できます。

PHP と Vue を使用してデータ クエリ機能を実装する方法 近年、インターネット技術の発展に伴い、データ クエリ機能はさまざまな Web アプリケーションで重要な役割を果たしています。 PHP と Vue は非常によく使用される 2 つのテクノロジであり、これらを組み合わせることでデータ クエリ機能を効果的に実装できます。この記事では、PHP と Vue を使用して単純なデータ クエリ関数を構築する方法を紹介し、具体的なコード例を示します。 1. 概要 データクエリ機能を実装するには、まずデータのリクエストと返却を処理するバックエンドサービスを構築する必要があります。 PH
