SQL基础回顾系列一 单表查询(select语句)
Jun 07, 2016 pm 05:44 PMSQL基础回顾系列一 单表查询(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]
它的作用是过滤由from阶段返回的行,可以指定一个谓词或逻辑表达式。如where阶段只保留id为71的客户下的订单,sql代码如下:
SELECT orderid,custid,empid,orderdate,freight FROM Sales.Orders WHERE custid=71;
程序输出结果为:
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

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











12306 항공권 구매 내역 확인 방법 항공권 구매 내역 확인 방법

Xiaomi 15 시리즈 전체 코드명 공개: Dada, Haotian, Xuanyuan

Oracle을 사용하여 테이블이 잠겨 있는지 쿼리하는 방법은 무엇입니까?

화웨이 메이트 60 시리즈 구매 최적기, 새로운 AI 제거 + 이미지 업그레이드, 가을 프로모션 즐기기

Tongshen Coin의 최신 가격을 확인하는 방법은 무엇입니까?
