php教程 php手册 SQL语言快速入门(三)

SQL语言快速入门(三)

Jun 21, 2016 am 09:09 AM
name quot select store

sql语言|快速入门

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

SELECT…FROM

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

Store_Information

Store_Name
Sales
Date

Los Angeles
00
Jan-10-2000

San Diego
0
Jan-11-2000

Los Angeles
0
Jan-12-2000

Boston
0
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)

50

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 00

San Diego 0

Boston 0

小注:

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 00

小注:

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 00

San Diego 0

Boston 0

连接多个数据表

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

Store_Information

Store_Name
Sales
Date

Los Angeles
00
Jan-10-2000

San Diego
0
Jan-11-2000

Los Angeles
0
Jan-12-2000

Boston
0
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 0

West 50

说明:

上述查询命令的前两行用于指定所要查询的目标字段,分别为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从句设定不正确,则可能导致查询结果中出现众多不相关的数据



본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

jquery에서 선택 요소를 숨기는 방법 jquery에서 선택 요소를 숨기는 방법 Aug 15, 2023 pm 01:56 PM

jquery에서 선택 요소를 숨기는 방법: 1. hide() 메서드, HTML 페이지에 jQuery 라이브러리를 도입하고 다른 선택기를 사용하여 선택 요소를 숨길 수 있습니다. ID 선택기는 selectId를 선택한 선택 요소의 ID로 바꿉니다. 2. css() 메서드, ID 선택기를 사용하여 숨겨야 하는 선택 요소를 선택하고, css() 메서드를 사용하여 표시 속성을 없음으로 설정하고, selectId를 선택 요소의 ID로 바꿉니다.

Select Channels의 비동기 처리 방법 golang을 이용한 Go 동시 프로그래밍 Select Channels의 비동기 처리 방법 golang을 이용한 Go 동시 프로그래밍 Sep 28, 2023 pm 05:27 PM

golang을 사용한 SelectChannelsGo 동시 프로그래밍의 비동기 처리 방법 소개: 동시 프로그래밍은 현대 소프트웨어 개발에서 중요한 영역으로, 애플리케이션의 성능과 응답성을 효과적으로 향상시킬 수 있습니다. Go 언어에서는 채널 및 Select 문을 사용하여 동시 프로그래밍을 간단하고 효율적으로 구현할 수 있습니다. 이 기사에서는 SelectChannelsGo 동시 프로그래밍의 비동기 처리 방법에 golang을 사용하는 방법을 소개하고 구체적인 내용을 제공합니다.

jQuery에서 선택 요소의 변경 이벤트 바인딩을 구현하는 방법 jQuery에서 선택 요소의 변경 이벤트 바인딩을 구현하는 방법 Feb 23, 2024 pm 01:12 PM

jQuery는 DOM 조작, 이벤트 처리, 애니메이션 효과 등을 단순화하는 데 사용할 수 있는 인기 있는 JavaScript 라이브러리입니다. 웹 개발에서 우리는 선택 요소에 대한 이벤트 바인딩을 변경해야 하는 상황에 자주 직면합니다. 이 기사에서는 jQuery를 사용하여 선택 요소 변경 이벤트를 바인딩하는 방법을 소개하고 특정 코드 예제를 제공합니다. 먼저 라벨을 사용하여 옵션이 포함된 드롭다운 메뉴를 만들어야 합니다.

Microsoft Store가 열리지 않고 '죄송합니다. 문제가 발생했습니다. 문제가 해결되었습니다.'라는 메시지가 표시됩니다. - [자세한 해결 방법] Microsoft Store가 열리지 않고 '죄송합니다. 문제가 발생했습니다. 문제가 해결되었습니다.'라는 메시지가 표시됩니다. - [자세한 해결 방법] Mar 27, 2024 pm 01:21 PM

일부 사용자는 Microsoft Store에서 자신이 좋아하는 앱을 찾아 다운로드하고 설치하려고 하지만 Microsoft Store가 열리지 않고 "죄송합니다. 문제가 발생했지만 제대로 처리했습니다."라는 메시지가 표시됩니다. 열 수 있도록 해결하세요. Microsoft Store가 다시 작동되고 있나요? 편집자는 아래 두 가지 방법을 정리했습니다. 도움이 되기를 바랍니다! 방법 1은 Win+R을 누르고 → cmd를 입력한 다음 Ctrl+Shift를 누른 상태에서 → 확인을 클릭(UAC가 팝업된 후 예를 클릭)하면 cmd 창이 팝업되고(관리자 모드) 다음 내용을 복사하여 붙여 넣을 수 있습니다. netshwinsockresetnetshintipresetipconfig/ releaseipconfig/renewi

Linux에서 select를 사용하는 이유는 무엇입니까? Linux에서 select를 사용하는 이유는 무엇입니까? May 19, 2023 pm 03:07 PM

Select를 사용하면 개발자가 동시에 여러 파일 버퍼를 기다릴 수 있으므로 IO 대기 시간을 줄이고 프로세스의 IO 효율성을 향상시킬 수 있습니다. select() 함수는 프로그램이 여러 파일 설명자를 모니터링하고 하나 이상의 모니터링된 파일 설명자가 소위 "준비" 상태가 될 때까지 기다릴 수 있도록 하는 IO 다중화 기능입니다. 설명자는 더 이상 차단되지 않으며 읽기, 쓰기 가능 및 예외를 포함한 특정 유형의 IO 작업에 사용될 수 있습니다. select는 헤더 파일 #include에 있는 컴퓨터 기능입니다. 이 함수는 파일 설명자 변경(읽기, 쓰기 또는 예외)을 모니터링하는 데 사용됩니다. 1.선택 기능 소개 선택 기능은 IO 다중화 기능입니다.

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

선택 채널 구현 golang을 통한 동시 프로그래밍 성능 최적화 선택 채널 구현 golang을 통한 동시 프로그래밍 성능 최적화 Sep 27, 2023 pm 01:09 PM

golang을 통해 SelectChannels 구현 Go 동시 프로그래밍의 성능 최적화 Go 언어에서는 동시 프로그래밍을 구현하기 위해 goroutine과 채널을 사용하는 것이 매우 일반적입니다. 여러 채널을 처리할 때 일반적으로 다중화를 위해 select 문을 사용합니다. 그러나 대규모 동시성의 경우 select 문을 사용하면 성능 저하가 발생할 수 있습니다. 이 기사에서는 golang을 통한 select의 일부 구현을 소개합니다.

mysql의 선택 구문을 사용하는 방법 mysql의 선택 구문을 사용하는 방법 Jun 01, 2023 pm 07:37 PM

1. SQL 문의 키워드는 대소문자를 구분하지 않습니다. SELECT는 SELECT와 동일하고 FROM은 from과 동일합니다. 2. 사용자 테이블에서 모든 열을 선택하려면 * 기호를 사용하여 열 이름을 바꿀 수 있습니다. 구문--주석입니다. FEOM에 의해 지정된 [테이블]에서 [모든] 데이터를 쿼리합니다. *는 [모든 열]을 의미합니다. SELECT*FROM--FROM 데이터의 지정된 [테이블]에서 지정된 데이터를 쿼리합니다. 열 이름(필드) SELECT 열 이름 FROM 테이블 이름 인스턴스--참고: 여러 열을 구분하려면 영어 쉼표를 사용하십시오. selectusername, 비밀번호from

See all articles