使用DQL查询数据

简介: 使用DQL查询数据

DQL语言


DQL( Data Query Language 数据查询语言 )


  • 查询数据库数据 , 如SELECT语句
  • 简单的单表查询或多表的复杂查询和嵌套查询
  • 是数据库语言中核心,重要的语句 使用频率高的语句
SELECT语法
SELECT [ALL | DISTINCT]
   {* | table.* | [table.field1[as alias1][,table.field2[as alias2]]  [,...]]}
   FROM table_name [as table_alias]    
   [left | right | inner join table_name2]  -- 联合查询    
   [WHERE ...]  -- 指定结果需满足的条件   
   [GROUP BY ...]  -- 指定结果按照哪几个字段来分组    
   [HAVING]  -- 过滤分组的记录必须满足的次要条件    
   [ORDER BY ...]  -- 指定查询记录按一个或多个条件排序   
   [LIMIT {[offset,]row_count | row_countOFFSET offset}];    --  指定查询的记录从哪条至哪条


注意 : [ ] 括号代表可选的 , { }括号代表必选得


指定查询字段

查询表中所有的数据列结果 , 采用 **" \* "** 符号; 但是效率低,不推荐 .
-- 查询所有学生信息 SELECT * FROM student;
-- 查询指定列(学号 , 姓名) SELECT studentno,studentname FROM student;
AS作为语句别名


可给数据列取一个新别名

可给表取一个新别名

可把经计算或总结的结果用另一个新名称来代替


--这里是为列取别名(当然as关键词可以省略)
SELECT studentno AS 学号,studentname AS 姓名 FORM student;
-- 使用as也可以为表取别名
SELSCT studenton AS 学号,studentname AS 姓名 FROM AS s
-- 使用as,为查询结果取一个新名字
--CONCAT()函数拼接一个字符串
SELECT CONCAT('姓名:'studentname) AS 新姓名 FROM student; 


作用:去掉SELECT查询返回的记录结果中重复的记录(返回所以列的值都一样),只返回一条

-- 查询一下有哪些同学参加了考试,成绩
SELECT * FORM result --查询全部的考试成绩
SELECT  `studentNo` FROM result -- 查询有哪些同学参加了考试
SELECT DISTING `StudentNo` FROM result-- 发现重复数据,去重
-- ===============where=======================
SELECT studentNo,`StudentResult` FROM result
-- 查询考试成绩在95-100之间的
SELECT `studentno`,`studentresult` FROM result
WHERE `studentresult`>=95 AND `studentresult`<=100
-- and &&
SELECT `studentno`,`studentresult` FROM `result`
WHERE `studentresult`>=95 && `studentresult`<=100
-- 模糊查询
SELECT `studentno`,`studentresult` FROM `result`
WHERE `studentresult` BETWEEN 95 AND 100
-- 除了1000号学生只为的同学成绩
SELECT `studentno`,`studentresult` FROM `result`
WHERE `studentno`!=1000
-- != NOT
-- 模糊查询 between and \ like  \  in  \  null
-- ========================================
-- Like
-- ========================================
-- 查询姓刘的同学的学号及姓名
-- Like结合使用的通配符:%(代表0到任意个字符) _(一个字符)
SELECT `studentno`,`studentname` FROM `student`
WHERE `studentname` LIKE  '刘%';
-- 查询姓刘的同学,后面只有一个字的
SELECT `studentno`,`studentname` FROM `student`
WHERE `studentname` LIKE '刘_';
-- 查询姓刘的同学,后面只有两个字的
SELECT `studentno`,`studentname` FROM `student`
WHERE `studentname` LIKE '刘__';
-- 查询姓名中含有 嘉 字的
SELECT `studentno`,`studentname` FROM `student`
WHERE `studentname` LIKE '%嘉%'
-- 查询姓名中含有特殊字符的需要使用转义符号 '\' 
-- 自定义转义符关键字:  ESCAPE ':'
-- ============================================= 
-- IN 
-- ============================================= 
-- 查询学号为1000,1001,1002的学生姓名 
SELECT `studentno`,`studentname` FROM `student`
WHERE `studentno` IN (1000,1001,1002)
-- 查询地址在北京,南京,河南洛阳的学生 
SELECT studentno,studentname,address FROM student 
WHERE address IN ('北京','南京','河南洛阳');
-- ============================================= 
-- NULL 空 
-- ============================================= 
-- 查询出生日期没有填写的同学 
-- 不能直接写=NULL , 这是代表错误的 , 用 is null 
SELECT `studentname` FROM `student`
WHERE `borndate` IS NULL
-- 查询出生日期填写的同学 
SELECT studentname FROM student 
WHERE BornDate IS NOT NULL;
-- 查询没有写家庭住址的同学(空字符串不等于null) 
SELECT studentname FROM student 
WHERE Address='' OR Address IS NULL


相关文章
|
6月前
|
SQL
DQL-基础查询
DQL-基础查询
21 0
|
6天前
|
SQL 安全 关系型数据库
MySQL数据库——DQL操作——基本查询
MySQL数据库——DQL操作——基本查询
|
6天前
|
SQL 数据库
SQL-DQL-基础查询
SQL-DQL-基础查询
|
6月前
|
SQL
SQL数据查询——单表查询和排序
SQL数据查询——单表查询和排序
69 0
基础DQL(数据查询)——条件查询
基础DQL(数据查询)——条件查询
95 0
基础DQL(数据查询)——条件查询
|
SQL 关系型数据库 MySQL
基础DQL(数据查询)——排序查询和分页查询
基础DQL(数据查询)——排序查询和分页查询
129 0
基础DQL(数据查询)——排序查询和分页查询
基础DQL(数据查询)——基础查询
基础DQL(数据查询)——基础查询
94 0
基础DQL(数据查询)——基础查询
基础DQL(数据查询)——聚合函数&分组查询
基础DQL(数据查询)——聚合函数&分组查询
92 0
基础DQL(数据查询)——聚合函数&分组查询
|
SQL 关系型数据库 MySQL
DQL(数据查询语言)之条件查询 | 学习笔记
快速学习 DQL (数据查询语言)之条件查询
115 0
DQL(数据查询语言)之条件查询 | 学习笔记
|
SQL 关系型数据库 MySQL
DQL(数据查询语言)之模糊查询 | 学习笔记
快速学习 DQL(数据查询语言)之模糊查询
246 0
DQL(数据查询语言)之模糊查询 | 学习笔记