mysql-select最基础

本文详细介绍了SQL中SELECT语句的基本语法及应用实例,包括条件查询、排序、分组及行计数等功能,并展示了如何通过组合函数进行行计数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库使用最多的应该就是SELECT,Select语句关于查询的最基本功能。

SELECT 语句的语法如下:

SELECT selection_list 选择哪些列

FROM table_list 从何处选择行

WHERE primary_constraint 行必须满足什么条件

GROUP BY grouping_columns 怎样对结果分组

HAVING secondary_constraint 行必须满足的第二条件

ORDER BY sorting_columns 怎样对结果排序

LIMIT count 结果限定

注意:所有使用的关键词必须精确地以上面的顺序给出。例如,一个HAVING子句必须跟在GROUP BY子句之后和ORDER BY子句之前。

除了词“SELECT”和说明希望检索什么的 column_list 部分外,语法中的每样东西都是可选的。有的数据库还需要 FROM 子句。MySQL 有所不同,它允许对表达式求值而不引用任何表。

一些最基本用法:

mysql> SELECT * FROM pet;//查询表里全部值

mysql> SELECT * FROM pet WHERE name = "Bowser";//表的特定值

mysql> SELECT name, birth FROM pet where owner="Gwen";//特定字段特定值

mysql> SELECT death-birth FROM pet WHERE name="Bowser";//表达式计算,计算Browser生活的天数

由于MySQL允许对表达式求值而不引用任何表。所以也可以这样使用:

mysql>select (2+3*4.5)/2.5;

 

条件查询

 

mysql> SELECT * FROM pet WHERE birth >= "1998-1-1";

mysql> SELECT * FROM pet WHERE species = "dog" AND sex = "f";

mysql> SELECT * FROM pet WHERE species = "snake" OR species = "bird";

查询排序

mysql> SELECT name, birth FROM pet ORDER BY birth;

mysql> SELECT name, species, birth FROM pet ORDER BY species, birth DESC;

查询分组与行计数

GROUP BY 从句根据所给的列名返回分组的查询结果,可用于查询具有相同值的列。

mysql>SELECT * FROM pet GROUP BY species;

查询显示结果时,被分组的列如果有重复的值,只返回靠前的记录,并且返回的记录集是排序的。这并不是一个很好的结果。仅仅使用GROUP BY从句并没有什么意义,该从句的真正作用在于与各种组合函数配合,用于行计数

1、COUNT()函数计数非NULL结果的数目。

mysql> SELECT species, sex, COUNT(*) FROM pet GROUP BY species, sex;

 

查询多个表

查询多个表,FROM子句列出表名,并用逗号分隔,因为查询需要从他们两个拉出信息。

当组合(联结-join)来自多个表的信息时,你需要指定在一个表中的记录怎样能匹配其它表的记录。这很简单,因为它们都有一个name列。查询使用WHERE子句基于name值来匹配2个表中的记录。

 

mysql> SELECT pet.name, (TO_DAYS(date) - TO_DAYS(birth))/365 AS age, remark

-> FROM pet, event

-> WHERE pet.name = event.name AND type = "litter";

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值