数据查询语言DQL,关键字:select、from、where等
1、单表查询
(1)查询学生表的学生的全部属性信息:
select * from student
(2)查询全体学生的学号与姓名:
select sno,sname from student
(3)查询的属性值可以经过计算后输出:
select sname,2019-sage--查询姓名和年龄 from student
(4)目标列表达式还可以是字符串常量
select sname,'Year of Birth:',birthday from student
(5)distanct关键字
--distinct:用于去除重复元组,写在select之后,属性列表之前
--一个select语句只能有一个distinct
(6)null运算
--isnull(A,B):判断A是否为null,如果为null,函数取B值,否则取A
--null参与所有运算结果仍然为null
(7)排序
- order by 属性名列表:将查询结果按属性名排序,如果需要改变排序方式,在属性名后,desc降序,asc升序
- 使用关键词 asc/desc,如果省略默认为升序
select studentno,sname,email--查询每个学生的学号,姓名和Email,按照班级编号降序排列,同一班级按入学成绩降序排列。 from student order by classno desc,point desc
2、聚合函数
(1)MAX
SELECT MAX(Id) ,sname
FROM t_stu
(2)MIN
SELECT MIN(Id) ,sname
FROM t_stu
(3)count
SELECT COUNT(Id)
FROM t_stu
只要是一条记录中有一个字段不为空的字段就进行计数,而select count(字段)只会统计该字段不为null的记录条数
SELECT COUNT(*)
FROM t_stu
SELECT COUNT(*)与SELECT COUNT(1):
count(1)或括号中是其它数字、字段名,表示只选择一个字段进行查询,而count(*)表示选择所有的字段进行查询,因此, SELECT COUNT(*)的效率较低