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

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



CakePHP ialah rangka kerja PHP popular yang menyediakan kefungsian ORM (Pemetaan Hubungan Objek) yang mudah yang menjadikan pertanyaan dan mengemas kini pangkalan data sangat mudah. Artikel ini akan memperkenalkan cara membuat pertanyaan dan mengemas kini data dalam CakePHP. Kami akan mulakan dengan pertanyaan dan kemas kini mudah dan berusaha untuk melihat cara menggunakan keadaan dan model yang berkaitan untuk membuat pertanyaan dan mengemas kini data dengan lebih kompleks. Pertanyaan Asas Mula-mula, mari lihat cara membuat pertanyaan paling mudah. Katakan kita mempunyai jadual data yang dipanggil "Pengguna" dan kita mahu

Rangka kerja Yii ialah rangka kerja aplikasi Web PHP sumber terbuka yang menyediakan pelbagai alatan dan komponen untuk memudahkan proses pembangunan aplikasi Web, yang mana pertanyaan data merupakan salah satu komponen penting. Dalam rangka kerja Yii, kita boleh menggunakan sintaks seperti SQL untuk mengakses pangkalan data untuk membuat pertanyaan dan memanipulasi data dengan cekap. Pembina pertanyaan rangka kerja Yii terutamanya termasuk jenis berikut: pertanyaan ActiveRecord, pertanyaan QueryBuilder, pertanyaan arahan dan pertanyaan SQL asal

MySQL dan Python: Bagaimana untuk melaksanakan fungsi pertanyaan data Dalam beberapa tahun kebelakangan ini, pertumbuhan pesat data telah menjadikan pertanyaan dan analisis data sebagai tugas penting dalam pelbagai bidang. Sebagai sistem pengurusan pangkalan data hubungan yang digunakan secara meluas, MySQL, digabungkan dengan Python, bahasa pengaturcaraan yang berkuasa, boleh menyediakan fungsi pertanyaan data yang pantas dan fleksibel. Artikel ini akan memperkenalkan cara menggunakan MySQL dan Python untuk melaksanakan fungsi pertanyaan data dan menyediakan contoh kod. Pertama, kita perlu memasang dan mengkonfigurasi MySQL dan Python

Perbandingan keupayaan pertanyaan dan analisis data antara MySQL dan TiDB Memandangkan jumlah data terus berkembang dan senario aplikasi menjadi lebih kompleks, keupayaan pertanyaan dan analisis data telah menjadi salah satu daya saing teras pelbagai sistem storan data. Sebagai salah satu wakil pangkalan data hubungan, MySQL telah digunakan secara meluas dalam persekitaran yang berdiri sendiri. Walau bagaimanapun, apabila skala perniagaan terus berkembang, MySQL mempunyai had tertentu dalam memproses data berskala besar dan pertanyaan konkurensi tinggi. TiDB ialah sistem pangkalan data teragih yang baru muncul yang menangani isu ini.

Cara menggunakan PHP untuk melaksanakan fungsi penjanaan kandungan dipacu data dan dinamik Pada banyak keadaan dalam pembangunan tapak web, kita sering perlu menjana kandungan secara dinamik berdasarkan data. Sebagai bahasa skrip bahagian pelayan yang digunakan secara meluas, PHP menyediakan fungsi dan alatan yang kaya untuk mencapai penjanaan kandungan dipacu data dan dinamik. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi ini dan menyediakan contoh kod yang sepadan. Pacuan data Pacuan data merujuk kepada penjanaan kandungan berdasarkan data dalam pangkalan data atau sumber data lain untuk mencapai paparan dan interaksi dinamik. PHP menyediakan

Cara menggunakan MySQL dan Ruby untuk melaksanakan fungsi pertanyaan dan analisis data yang mudah Dalam era data besar hari ini, analisis data telah menjadi bahagian yang amat diperlukan dalam banyak bidang. Apabila melakukan analisis data, operasi yang paling biasa ialah pertanyaan data. Artikel ini akan memperkenalkan cara menggunakan bahasa pengaturcaraan MySQL dan Ruby untuk melaksanakan pertanyaan dan fungsi analisis data yang mudah, dan memberikan contoh kod khusus. Pertama, kita perlu memasang persekitaran pembangunan MySQL dan Ruby. MySQL ialah pangkalan data hubungan sumber terbuka

Cara menggunakan Oracle untuk penyimpanan data dan pertanyaan dalam Workerman Ringkasan: Workerman ialah rangka kerja pembangunan PHP berprestasi tinggi yang digunakan secara meluas dalam komunikasi masa nyata, sembang segera dan aplikasi Internet lain. Oracle ialah pangkalan data hubungan yang berkuasa yang digunakan secara meluas dalam aplikasi peringkat perusahaan. Artikel ini akan memperkenalkan cara menggunakan Oracle untuk penyimpanan data dan pertanyaan dalam Workerman, dan memberikan contoh kod khusus. 1. Pasang sambungan Oracle dan gunakan pangkalan data Oracle

Cara menggunakan sambungan pangkalan data PHP untuk melaksanakan pertanyaan dan kemas kini data 1. Sambungan pangkalan data MySQL Sebelum menggunakan sambungan pangkalan data dalam PHP, anda perlu memastikan pelayan pangkalan data MySQL telah dipasang dan dikonfigurasikan dengan betul. Seterusnya, kita akan belajar cara menggunakan PHP untuk menyambung ke pangkalan data MySQL dan melaksanakan pertanyaan data dan operasi kemas kini. Pasang dan konfigurasi MySQL Mula-mula, anda perlu memasang pelayan pangkalan data MySQL. Bergantung pada sistem pengendalian, anda boleh memilih untuk menggunakan pakej pemasangan yang disediakan secara rasmi oleh MySQL, atau melalui pembangunan bersepadu
