龙空技术网

SQL中SELECT语句详解

一丝不苟暖阳d 345

前言:

如今兄弟们对“sql查询每科成绩都大于80的学生”可能比较关怀,我们都需要了解一些“sql查询每科成绩都大于80的学生”的相关知识。那么小编也在网摘上收集了一些有关“sql查询每科成绩都大于80的学生””的相关知识,希望兄弟们能喜欢,你们一起来了解一下吧!

本篇文章讲述SQL语句中的SELECT查询语句,以供参考,如有错误或不当之处还望大神们告知。

简单查询SELECT-FROM

用于无条件查询单张表中的行或列

假设有表如图所示

查询名字叫 ‘叶清逸’ 的记录:

select * from T_USER where u_name = '叶清逸' ;

1

查询结果:

查询一个或多个属性,u_name,u_age,u_score:

select u_name,u_age,u_score from T_USER ;

1

查询结果:

AS关键字

使用AS给查询结果取别名(AS也可以省略):

--可加""也可不加 如果不加双引号默认字母大写 如果需要小写字母或别名由多个字母组成则需要加上双引号。

--AS也可省略。

select

u_name as 名字,

u_age as "年龄" ,

u_score 成绩

from T_USER ;

1

2

3

4

5

6

7

查询结果:

算数运算符

SELECT中可以对数字和日期进行加减乘除运算

select u_name , u_score , u_score+10 , u_score-10 , u_score*2 , u_score/2

from T_USER ;

1

2

运行结果:

连接符 “||”

SQL中的连接符”||” 可将结果连接起来为一列

- 将u_name 和“的成绩为” u_score 连接起来

select

u_name || '的成绩为' || u_score as 成绩

from T_USER ;

1

2

3

查询结果:

条件查询SELECT-WHERE

SQL中可以用SELECT-WHERE进行条件查询

比较运算 ‘<’ ‘<=’ ‘>’ ‘>=’ ‘!=’

SQL中可以使用 条件运算符 ‘<’ ‘<=’ ‘>’ ‘>=’ ‘!=’ 过滤查询结果中的某些行,多个条件之间可以用 ‘and’ 连接。

- 查询T_USER表中成绩大于等于60分的学生

select u_name , u_score

from T_USER

where u_score >= 60 ;

1

2

3

查询结果:

与条件 (AND,BETWEEN)

查询A-B区间

查询T_USER表中成绩大于等于60分且小于等于80分的学生

AND写法

select u_name , u_score

from T_USER

where u_score >60 and u_score <80

1

2

3

BETWEEN写法

select u_name , u_score

from T_USER

where u_score between 60 and 80 ;

1

2

3

查询结果:

或条件(OR,IN)

SQL中用于或运算的关键字OR和IN

查询分数大于90分或者小于60分的记录-OR

select u_name , u_score

from T_USER

where u_score >90 or u_score <60 ;

1

2

3

运行结果:

- 查询成绩为100,98,65的学生-IN

select u_name , u_score

from T_USER

where u_score in(100,98,65) ;

1

2

3

运行结果:

非条件(!=,NOT)

查询名字不叫 ‘叶清逸’ 的记录

!=写法

select *

from T_USER

where u_name != '叶清逸' ;

1

2

3

NOT写法

select *

from T_USER

where u_name not like '叶清逸' ;

1

2

3

查询结果:

模糊查询LIKE

SQL中可以使用模糊查询like,其中 ‘_’ 占一位 ‘%’占多位。

查询名字中有 ‘清’ 字的记录

可以有三种表示方式,结果等价

包含’清’: %清%

第二位为’清’:_清%

倒数第二位为’清’:%清_

select *

from T_USER

where u_name like '%清%' ;

1

2

3

查询结果:

注:若要查询数据含有’_’ 关键字 则需使用 escape定义一个转义字符。如:like ‘%#_%’ escape ‘#’

查询排序ORDER BY

SQL中可以对查询结果进行排序,DESC表示按从大到小排序,ASC表示按从小到大排序,默认为从小到大排序。

- 将T_USER表按成绩从大到小排序

select *

from T_USER

order by u_score desc ;

1

2

3

查询结果:

ORDER BY 语句也可以用逗号隔开,表示如果上一个条件相同,接下来的排序方式。

标签: #sql查询每科成绩都大于80的学生