search
HomeDatabaseMysql TutorialSQL语言快速入门之三_MySQL
SQL语言快速入门之三_MySQLJun 01, 2016 pm 02:05 PM
storeusegetting StartedfastusdataInquirelanguage

我们日常使用SQL语言的工作过程中,使用最多的还是从已经建立好的数据库中查询信息。下面,我们就来详细介绍一下如何使用SQL语言实现各种数据库查询操作。

SELECT…FROM

  为方便讲解,我们在数据库中创建名为Store_Information的如下数据表。

Store_Information

Store_Name
Sales
Date

Los Angeles
$1500
Jan-10-2000

San Diego
$250
Jan-11-2000

Los Angeles
$300
Jan-12-2000

Boston
$700
Jan-12-2000


  SQL语言中用于数据库查询的最简单的命令就是SELECT…FROM,语法格式为:

SELECT "column_name" FROM "table_name"

例如,如果我们希望查询Store_Information数据表中所有的商店名称时,可以使用如下命令:

SELECT store_name FROM Store_Information

查询结果显示为:

Store_Name

Los Angeles

San Diego

Los Angeles

Boston

如果用户希望一次查询多个字段,可以将所要查询的字段名称依次加入SELECT关键字之后,中间用“,”隔开即可。

DISTINCT

  SELECT关键字支持用户查询数据表中指定字段的所有数据,但是这样有时就会不可避免的出现重复信息。如果用户希望只查询那些具有不同记录值的信息的话,可以使用SQL语言的DISTINCT关键字。语法格式如下:

SELECT DISTINCT "column_name"

FROM "table_name"

例如,我们可以使用以下命令查询Store_Information数据表具有不同记录值的所有记录。

SELECT DISTINCT Store_Name FROM Store_Information

查询结果如下:

Store_Name

Los Angeles

San Diego

Boston

WHERE

  除了选择具有不同记录值的记录之外,有时我们可能还会需要根据某些条件对数据库中的数据进行查询。例如,我们可能需要查询Store_Information数据表中销售额超过1000美圆的商店。为此,我们可以使用SQL语言的WHERE关键字设定查询条件。语法格式如下:

SELECT "column_name"

FROM "table_name"

WHERE "condition"

由此,我们可以使用如下命令查询销售额超过1000美圆的商店信息:

SELECT store_name FROM Store_Information WHERE Sales > 1000

查询结果显示为:

store_name

Los Angeles

运算函数

  现在,我们已经了解到在使用SQL语言进行数据库查询操作时可以通过对数值的判断设定灵活的查询条件。为了增强对运算的支持能力,SQL提供了众多实用的运算函数供广大用户使用。例如,我们可以直接在SQL命令中调用SUM或AVG这两个分别用于计算总数和平均数的函数。语法格式如下:

SELECT "function type"("column_name")

FROM "table_name"

如果我们希望查询Store_Information数据表中所有商店的总销售额的话,可以使用如下命令:

SELECT SUM(Sales) FROM Store_Information

查询结果显示为:

SUM(Sales)

$2750

COUNT

  除了SUM和AVG函数之外,COUNT函数是SQL语言中另一个较为常用的运算函数。COUNT函数可以用来计算数据表中指定字段所包含的记录数目。语法格式为:

SELECT COUNT("column_name")

FROM "table_name"

例如,如果我们希望查询Store_Information数据表中的有关商店的记录条数时,可以使用如下命令:

SELECT COUNT(store_name)

FROM Store_Information

查询结果显示为:

Count(store_name)

4

COUNT函数可以和DISTINCT关键字一起使用从而可以查询数据表中指定字段中所有具有不同记录值的记录数目。例如,如果我们希望查询Store_Information数据表中不同商店的数目时,可以使用如下命令:

SELECT COUNT(DISTINCT store_name)

FROM Store_Information

查询结果显示为:

Count(DISTINCT store_name)

3

GROUP BY

下面我们来进一步看一下SQL语言中的集合函数。上文中,我们曾使用SUM函数计算所有商店的销售总额,如果我们希望计算每一家商店各自的总销售额时该怎么办呢?要实现这一目的我们需要做两件事:首先,我们需要查询商店名称和销售额两个字段;然后,我们使用SQL语言的GROUP BY命令将销售额按照不同的商店进行分组,从而计算出不同商店的销售总额。GROUP BY命令的语法格式为:

SELECT "column_name1", SUM("column_name2")

FROM "table_name"

GROUP BY "column_name1"

我们可以使用如下命令实现上述查询目的:

SELECT store_name, SUM(Sales)

FROM Store_Information

GROUP BY store_name

查询结果显示为:

store_name SUM(Sales)

Los Angeles $1800

San Diego $250

Boston $700

小注:

GROUP BY关键字一般应用于同时查询多个字段并对字段进行算术运算的SQL命令中。

HAVING

用户在使用SQL语言的过程中可能希望解决的另一个问题就是对由sum或其它集合函数运算结果的输出进行限制。例如,我们可能只希望看到Store_Information数据表中销售总额超过1500美圆的商店的信息,这时我们就需要使用HAVING从句。语法格式为:

SELECT "column_name1", SUM("column_name2")

FROM "table_name"

GROUP BY "column_name1"

HAVING (arithematic function condition)

(GROUP BY从句可选)

由此,我们可以使用如下命令实现上述查询目的:

SELECT store_name, SUM(sales)

FROM Store_Information

GROUP BY store_name

HAVING SUM(sales) > 1500

查询结果显示为:

store_name SUM(Sales)

Los Angeles $1800

小注:

SQL语言中设定集合函数的查询条件时使用HAVING从句而不是WHERE从句。通常情况下,HAVING从句被放置在SQL命令的结尾处。

ALIAS

下面,我们重点介绍一下如何在SQL命令中设定别名。SQL语言中一般使用两种类型的别名,分别为字段别名和数据表别名。

简单的说,使用字段别名可以帮助我们有效的组织查询的输出结果。例如,上文所列举的多个实例中,当我们计算商店销售总额时,显示结果中就会出现SUM(sales)。虽然SUM(sales)并不会对我们理解查询结果带来不便,但是如果我们需要在查询中使用多项复杂运算时,显示结果就不会这么直观了。如果这时我们使用字段别名就会极大的提高查询结果的可读性。

对于数据表别名,我们可以通过将别名直接放置在FROM从句中数据表名称的后面设定。数据表别名在我们下面将要讲述的连接多个数据表进行查询的操作中极为有用。

字段和数据表别名的语法格式如下:

SELECT "table_alias"."column_name1" "column_alias"

FROM "table_name" "table_alias"

即别名都直接放置在各自对应名称的后面,中间用空格分开。

以Store_Information数据表为例,我们可以在GROUP BY一节中所使用的SQL命令中设置如下字段和数据表别名:

SELECT A1.store_name Store, SUM(Sales) "Total Sales"

FROM Store_Information A1

GROUP BY A1.store_name

查询结果显示为:

Store Total Sales

Los Angeles $1800

San Diego $250

Boston $700

连接多个数据表

最后,我们来看一下如果使用SQL语言连接多个数据表,实现对多个数据表的查询。为方便讲解,我们在数据库中分别创建了两个名为Store_Information和Region的数据表。

Store_Information

Store_Name
Sales
Date

Los Angeles
$1500
Jan-10-2000

San Diego
$250
Jan-11-2000

Los Angeles
$300
Jan-12-2000

Boston
$700
Jan-12-2000


Region

Region_Name
Store_Name

East
Boston

East
New York

West
Los Angeles

West
San Diego


下面,我们就来看一下通过数据表的连接实现按不同区域查询销售额。

我们注意到在名为Region的数据表中包含区域和商店两个字段信息,而在名为Store_Information的数据表中则包含每一家商店的销售信息。因此,为了得到按区域划分的销售信息,我们需要将两个不同数据表的信息结合在一起进行查询。通过对上述两个数据表的分析,我们发现每个数据表中都包含一个名为Store_Name的字段,因此,我们可以使用如下命令实现查询目的:

SELECT A1.region_name REGION, SUM(A2.Sales) SALES

FROM Geography A1, Store_Information A2

WHERE A1.store_name = A2.store_name

GROUP BY A1.region_name

查询结果显示为:

REGION SALES

East $700

West $2050

说明:

上述查询命令的前两行用于指定所要查询的目标字段,分别为Region数据表中的Region_Name字段和Store_Information数据表中Sales字段的记录值总数。这里,我们设定两个字段的别名分别为REGION和SALES,两个数据表的别名分别为A1和A2。如果我们只使用字段别名而不设定数据表别名的话,上述SQL命令的第一行就变成 如下形式:

SELECT Region.Region_Name REGION, SUM(Store_Information.Sales) SALES

由此我们可以看出有效的使用数据表别名,可以极大的简化对多个数据表进行操作的SQL命令。

上述查询命令的第3行为WHERE从句,正是该从句设定了两个数据表的连接条件。因为我们希望确保Region数据表中的Store_Name字段能够与Store_Information数据表中的同名字段相对应,所以我们规定两个字段的记录值应当相等。在连接多个数据表时,一定要准确设定数据表的连接条件,如果WHERE从句设定不正确,则可能导致查询结果中出现众多不相关的数据



Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Laravel入门教程:从零开始学习最流行的PHP框架Laravel入门教程:从零开始学习最流行的PHP框架Aug 13, 2023 pm 01:21 PM

Laravel入门教程:从零开始学习最流行的PHP框架引言:Laravel是当前最流行的PHP框架之一,它易于上手、功能强大且拥有活跃的开发社区。本文将带您从零开始学习Laravel框架,并提供一些实例代码,帮助您更好地理解和掌握这个强大的工具。第一步:安装Laravel在开始之前,您需要在计算机上安装Laravel框架。最简单的方法是通过Composer进

VUE3入门实例:制作一个简单的图片裁剪器VUE3入门实例:制作一个简单的图片裁剪器Jun 15, 2023 pm 08:45 PM

Vue.js是一款流行的JavaScript前端框架,目前已经推出了最新的版本——Vue3,新版Vue在性能、体积以及开发体验上均有所提升,受到越来越多的开发者欢迎。本文将介绍如何使用Vue3制作一个简单的图片裁剪器。首先,我们需要创建一个Vue项目并安装所需的插件。可以使用VueCLI来创建项目,也可以手动搭建。这里我们以使用VueCLI的方式为例:#

从入门到精通:掌握go-zero框架从入门到精通:掌握go-zero框架Jun 23, 2023 am 11:37 AM

Go-zero是一款优秀的Go语言框架,它提供了一整套解决方案,包括RPC、缓存、定时任务等功能。事实上,使用go-zero建立一个高性能的服务非常简单,甚至可以在数小时内从入门到精通。本文旨在介绍使用go-zero框架构建高性能服务的过程,并帮助读者快速掌握该框架的核心概念。一、安装和配置在开始使用go-zero之前,我们需要安装它并配置一些必要的环境。1

快速入门:使用Go语言函数实现简单的数据可视化功能快速入门:使用Go语言函数实现简单的数据可视化功能Aug 02, 2023 pm 04:25 PM

快速入门:使用Go语言函数实现简单的数据可视化功能随着数据的快速增长和复杂性的提高,数据可视化成为了数据分析和数据表达的重要手段。在数据可视化中,我们需要使用合适的工具和技术来将数据转化为易读且易理解的图表或图形。Go语言作为一种高效且易于使用的编程语言,在数据科学领域也有着广泛的应用。本文将介绍如何使用Go语言函数来实现简单的数据可视化功能。我们将使用Go

PHP中的人脸识别入门指南PHP中的人脸识别入门指南Jun 11, 2023 am 09:16 AM

随着科技的不断发展,人脸识别技术也越来越得到了广泛的应用。而在Web开发领域中,PHP是一种被广泛采用的技术,因此PHP中的人脸识别技术也备受关注。本文将介绍PHP中的人脸识别入门指南,帮助初学者快速掌握这一领域。一、什么是人脸识别技术人脸识别技术是一种基于计算机视觉技术的生物特征识别技术,其主要应用领域包括安防、金融、电商等。人脸识别技术的核心就是对人脸进

如何快速入门Beego开发框架?如何快速入门Beego开发框架?Jun 22, 2023 am 09:15 AM

Beego是一个基于Go语言的开发框架,它提供了一套完整的Web开发工具链,包括路由、模板引擎、ORM等。如果你想快速入门Beego开发框架,以下是一些简单易懂的步骤和建议。第一步:安装Beego和Bee工具安装Beego和Bee工具是开始学习Beego的第一步。你可以在Beego官网上找到详细的安装步骤,也可以使用以下命令来安装:gogetgithub

Laravel 8:快速入门指南Laravel 8:快速入门指南Jun 20, 2023 am 09:37 AM

Laravel是一个流行的PHP框架,它提供了许多工具和功能,以使开发Web应用程序变得更加轻松和快速。Laravel8已经发布,它带来了许多新的功能和改进。在本文中,我们将学习如何快速入门Laravel8。安装Laravel8要安装Laravel8,您需要满足以下要求:PHP>=7.3MySQL>=5.6或MariaDB>=10.

PHP摄像头调用教程:快速入门指南PHP摄像头调用教程:快速入门指南Jul 29, 2023 pm 11:13 PM

PHP摄像头调用教程:快速入门指南引言:在当今的数字时代,摄像头成为了人们生活中不可或缺的设备之一。在Web开发中,如何通过PHP调用摄像头,实现视频流的显示和处理,成为了很多开发者关注的问题。本文将为大家介绍如何快速入门使用PHP来调用摄像头。一、环境准备要使用PHP调用摄像头,我们需要准备以下环境:PHP:确保已经安装了PHP,并且安装了相应的扩展库,如

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor