搜索
首页数据库mysql教程SQL基础回顾系列一 单表查询(select语句)

SQL基础回顾系列一 单表查询(select语句) 很久没有写博客了,最近一直忙于找工作,心都没办法安静下来。通过最近的面试,也给自己暴露了不少问题,其中很重要的一块就是数据库,因为项目的原因,最近两年在文思的香港马会的项目组都没有使用过数据库,所以数

SQL基础回顾系列一 单表查询(select语句)

  很久没有写博客了,最近一直忙于找工作,香港服务器,心都没办法安静下来。通过最近的面试,也给自己暴露了不少问题,其中很重要的一块就是数据库,因为项目的原因,最近两年在文思的香港马会的项目组都没有使用过数据库,所以数据库这一块也成了我的短板,所以也借离职在家这段时间,系统地回顾一下数据库的知识,我会写成一个系列并坚持写下去。

  先从select语句写起,因为它是学习T-SQL的基础。首先总结一下select语句逻辑处理顺序,如下,下面按照逻辑顺序来总结。

  from

  where

  group by

  having

  select

    over

    distinct

    top

  order by

from子句

  from子句是在逻辑处理阶段第一个要处理的查询子句。它是用来指定要查询的表名,香港服务器,以及对表进行操作的表运算符。下面的例子是对Sales数据库架构中的Orders表进行查询,看sql语句:

SELECT orderid,custid,empid,orderdate,freight FROM Sales.Orders;

  执行结果:

 

  注意:1> 应该总是用数据库架构来限定代码中的对象名称,如Sales.Order。
     2> 应该显示指定要查询的列,避免一些额外的代价。
     3> select出的结果看起来是以特定的顺序返回(以orderid的升序排列)的,香港服务器, 但不能保证绝对这样。
     4> Sql server分隔标识符使用方括号,如[Order Details]

where子句

  它的作用是过滤由from阶段返回的行,可以指定一个谓词或逻辑表达式。如where阶段只保留id为71的客户下的订单,sql代码如下:

SELECT orderid,custid,empid,orderdate,freight FROM Sales.Orders WHERE custid=71;

  程序输出结果为:

group by子句

  group by阶段可以将前面逻辑查询处理阶段返回的行按“组”进行组合,每个组由在group by子句中指定的各元素决定。如对于where阶段返回的数据中出现的每个雇员id和订单年份值的唯一组合,sql代码如下:

SELECT empid , YEAR(orderdate) AS orderyear , SUM(freight) AS totalfreight , COUNT(*) AS numorders FROM Sales.Orders empid , YEAR(orderdate);

  程序输出结果为:

  注意:1,group by阶段之后的所有阶段(包括having,select以及order by)的操作对象都是组。比如这里是select。
     2,一个元素如果不在group by列表中出现,就只能作为聚合函数(Count,Sum,Avg,Min以及Max)的输入,比如这里的Sum和Count函数。

posted on

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
将用户添加到MySQL:完整的教程将用户添加到MySQL:完整的教程May 12, 2025 am 12:14 AM

掌握添加MySQL用户的方法对于数据库管理员和开发者至关重要,因为它确保数据库的安全性和访问控制。1)使用CREATEUSER命令创建新用户,2)通过GRANT命令分配权限,3)使用FLUSHPRIVILEGES确保权限生效,4)定期审计和清理用户账户以维护性能和安全。

掌握mySQL字符串数据类型:varchar vs.文本与char掌握mySQL字符串数据类型:varchar vs.文本与charMay 12, 2025 am 12:12 AM

chosecharforfixed-lengthdata,varcharforvariable-lengthdata,andtextforlargetextfield.1)chariseffity forconsistent-lengthdatalikecodes.2)varcharsuitsvariable-lengthdatalikenames,ballancingflexibilitibility andperformance.3)

MySQL:字符串数据类型和索引:最佳实践MySQL:字符串数据类型和索引:最佳实践May 12, 2025 am 12:11 AM

在MySQL中处理字符串数据类型和索引的最佳实践包括:1)选择合适的字符串类型,如CHAR用于固定长度,VARCHAR用于可变长度,TEXT用于大文本;2)谨慎索引,避免过度索引,针对常用查询创建索引;3)使用前缀索引和全文索引优化长字符串搜索;4)定期监控和优化索引,保持索引小巧高效。通过这些方法,可以在读取和写入性能之间取得平衡,提升数据库效率。

mysql:如何远程添加用户mysql:如何远程添加用户May 12, 2025 am 12:10 AM

ToaddauserremotelytoMySQL,followthesesteps:1)ConnecttoMySQLasroot,2)Createanewuserwithremoteaccess,3)Grantnecessaryprivileges,and4)Flushprivileges.BecautiousofsecurityrisksbylimitingprivilegesandaccesstospecificIPs,ensuringstrongpasswords,andmonitori

MySQL字符串数据类型的最终指南:有效的数据存储MySQL字符串数据类型的最终指南:有效的数据存储May 12, 2025 am 12:05 AM

tostorestringsefliceflicyInmySql,ChooSetherightDataTypeBasedyOrneOrneEds:1)USEcharforFixed-LengthStstringStringStringSlikeCountryCodes.2)UseVarcharforvariable-lengtthslikenames.3)USETEXTCONTENT.3)

mysql blob vs.文本:为大对象选择正确的数据类型mysql blob vs.文本:为大对象选择正确的数据类型May 11, 2025 am 12:13 AM

选择MySQL的BLOB和TEXT数据类型时,BLOB适合存储二进制数据,TEXT适合存储文本数据。1)BLOB适用于图片、音频等二进制数据,2)TEXT适用于文章、评论等文本数据,选择时需考虑数据性质和性能优化。

MySQL:我应该将root用户用于产品吗?MySQL:我应该将root用户用于产品吗?May 11, 2025 am 12:11 AM

No,youshouldnotusetherootuserinMySQLforyourproduct.Instead,createspecificuserswithlimitedprivilegestoenhancesecurityandperformance:1)Createanewuserwithastrongpassword,2)Grantonlynecessarypermissionstothisuser,3)Regularlyreviewandupdateuserpermissions

MySQL字符串数据类型说明了:选择适合您数据的合适类型MySQL字符串数据类型说明了:选择适合您数据的合适类型May 11, 2025 am 12:10 AM

mySqlStringDatatatPessHouldBechoseBeadeDataCharacteristicsAndUsecases:1)USECHARFORFIXED LENGTHSTRINGSTRINGSLIKECOUNTRYCODES.2)USEDES.2)usevarcharforvariable-lengtthstringstringstringstringstringstringstringslikenames.3)usebinaryorvarrinaryorvarinarydatalbonydatalgebgeenfopical.4)

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。