第五章 数据查询(二)
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都分为一组,然后把这些相同组对应的分数值再使用前面的聚合函数取平均值(最大值、最小值或者参考人数统计)。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Das Yii-Framework ist ein Open-Source-PHP-Webanwendungsframework, das zahlreiche Tools und Komponenten zur Vereinfachung des Prozesses der Webanwendungsentwicklung bereitstellt, wobei die Datenabfrage eine der wichtigen Komponenten ist. Im Yii-Framework können wir eine SQL-ähnliche Syntax verwenden, um auf die Datenbank zuzugreifen und Daten effizient abzufragen und zu bearbeiten. Der Abfrage-Builder des Yii-Frameworks umfasst hauptsächlich die folgenden Typen: ActiveRecord-Abfrage, QueryBuilder-Abfrage, Befehlsabfrage und Original-SQL-Abfrage

CakePHP ist ein beliebtes PHP-Framework, das praktische ORM-Funktionen (Object Relational Mapping) bietet, die das Abfragen und Aktualisieren der Datenbank sehr einfach machen. In diesem Artikel wird erläutert, wie Sie Daten in CakePHP abfragen und aktualisieren. Wir beginnen mit einfachen Abfragen und Aktualisierungen und arbeiten uns nach oben, um zu sehen, wie Bedingungen und zugehörige Modelle verwendet werden, um komplexere Daten abzufragen und zu aktualisieren. Grundlegende Abfrage Sehen wir uns zunächst an, wie die einfachste Abfrage erstellt wird. Nehmen wir an, wir haben eine Datentabelle namens „Benutzer“ und möchten

MySQL und Python: So implementieren Sie die Datenabfragefunktion In den letzten Jahren hat das schnelle Datenwachstum die Datenabfrage und -analyse zu einer wichtigen Aufgabe in verschiedenen Bereichen gemacht. Als weit verbreitetes relationales Datenbankverwaltungssystem kann MySQL in Kombination mit Python, einer leistungsstarken Programmiersprache, schnelle und flexible Datenabfragefunktionen bereitstellen. In diesem Artikel wird erläutert, wie Sie mit MySQL und Python Datenabfragefunktionen implementieren und Codebeispiele bereitstellen. Zuerst müssen wir MySQL und Python installieren und konfigurieren

So implementieren Sie mit MySQL und Ruby eine einfache Datenabfrage- und Analysefunktion. Im heutigen Big-Data-Zeitalter ist die Datenanalyse in vielen Bereichen zu einem unverzichtbaren Bestandteil geworden. Bei der Durchführung einer Datenanalyse ist die Datenabfrage die häufigste Operation. In diesem Artikel wird erläutert, wie Sie mithilfe der Programmiersprachen MySQL und Ruby eine einfache Datenabfrage- und Analysefunktion implementieren, und es werden spezifische Codebeispiele aufgeführt. Zuerst müssen wir die Entwicklungsumgebungen MySQL und Ruby installieren. MySQL ist eine relationale Open-Source-Datenbank

So implementieren Sie mit PHP datengesteuerte und dynamische Inhaltsgenerierungsfunktionen. In vielen Fällen müssen wir bei der Website-Entwicklung Inhalte dynamisch auf der Grundlage von Daten generieren. Als weit verbreitete serverseitige Skriptsprache bietet PHP umfangreiche Funktionen und Tools zur datengesteuerten und dynamischen Generierung von Inhalten. In diesem Artikel wird die Verwendung von PHP zum Implementieren dieser Funktionen vorgestellt und entsprechende Codebeispiele bereitgestellt. Datengesteuert Unter datengesteuert versteht man die Generierung von Inhalten auf der Grundlage von Daten in Datenbanken oder anderen Datenquellen, um eine dynamische Anzeige und Interaktion zu erreichen. PHP bietet

Vergleich der Datenabfrage- und Analysefunktionen zwischen MySQL und TiDB Da die Datenmenge weiter wächst und Anwendungsszenarien komplexer werden, sind Datenabfrage- und Analysefunktionen zu einem der zentralen Wettbewerbsvorteile verschiedener Datenspeichersysteme geworden. Als einer der Vertreter relationaler Datenbanken wird MySQL häufig in eigenständigen Umgebungen eingesetzt. Mit der kontinuierlichen Erweiterung des Geschäftsumfangs weist MySQL jedoch bestimmte Einschränkungen bei der Verarbeitung großer Datenmengen und Abfragen mit hoher Parallelität auf. TiDB ist ein aufstrebendes verteiltes Datenbanksystem, das diese Probleme angeht.

So verwenden Sie Oracle zur Datenspeicherung und -abfrage in Workerman Zusammenfassung: Workerman ist ein leistungsstarkes PHP-Entwicklungsframework, das häufig in Echtzeitkommunikation, Instant Chat und anderen Internetanwendungen verwendet wird. Oracle ist eine leistungsstarke relationale Datenbank, die häufig in Anwendungen auf Unternehmensebene verwendet wird. In diesem Artikel wird erläutert, wie Sie Oracle für die Datenspeicherung und -abfrage in Workerman verwenden, und es werden spezifische Codebeispiele bereitgestellt. 1. Installieren Sie Oracle-Erweiterungen und verwenden Sie die Oracle-Datenbank

Mit der rasanten Entwicklung der Internet-Technologie werden Datenverwaltung und -verarbeitung immer wichtiger. Als häufig verwendetes Datenbankverwaltungssystem bietet MySQL auch gute Ergebnisse bei der Datenverarbeitung, insbesondere bei der direkten Datenabfragetechnologie. MySQL ist ein relationales Datenbankverwaltungssystem, das von Sun verwaltet wird. Es wird häufig für die Datenbankentwicklung, -verwaltung und -wartung verwendet und ist aufgrund seiner hervorragenden Leistung, starken Skalierbarkeit und hohen Stabilität zur ersten Wahl geworden. . Verwendung von MySQL
