广告
返回顶部
首页 > 资讯 > 数据库 >DQL数据查询语句使用示例
  • 681
分享到

DQL数据查询语句使用示例

DQL数据查询SQL数据查询 2022-12-22 13:12:09 681人浏览 安东尼
摘要

目录DQL指定查询字段where条件子句联表查询分页和排序子查询DQL (Data Query Language:数据查询语言) 所有的查询操作都要用到它 select简单的查询,复杂的查询都要用到它

DQL

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

  • 所有的查询操作都要用到它 select
  • 简单的查询,复杂的查询都要用到它
  • 数据库最核心的语言,最重要的语言
  • 使用频率最高的语言

指定查询字段

-- 查询所有的学生  select 字段 from 表
select * from student
-- 查询指定字段
select studentno,studentname from student
-- 给结果起一个名字 , As,可以给字段起别名,也可以给表起别名
select studentno as 学号,studentname as 学生姓名 from student
select studentno 学号,studentname 学生姓名 from student
-- 函数 concat(a,b)
select CONCAT('姓名:',studentname) as 新名字 from student

语法:select 字段 from 表

有时候,列的名字不是那么的见名之意,我们可以用as给字段起别名

字段名 as 别名 或者是 表名 as 表别名

去重 distinct

作用:去除select查询出来的结果中重复的数据,重复的数据只显示一条

-- 查询一下有哪些同学参加了考试
select * from result -- 查询全部的考试成绩
select studentno from result -- 查询有哪些学生参加了考试
select distinct studentno from result -- 去重

数据库的列(表达式)

select version() -- 查询系统版本号(函数)
select 100*3-2 -- 用来计算(表达式)
select @@auto_increment_increment -- 查询自增的步长(变量)
-- 学生考试成绩+1分查看
select studentno,studentresult+1 as '提分后' from result

数据库中的表达式:文本值,列,null,函数,计算表达式,系统变量

select 表达式 from 表

where条件子句

作用:检索符合条件的值

搜索的条件都是由一个或者多个表达式组成!结果都是布尔值

逻辑运算符

DQL数据查询语句使用示例

select studentno,studentresult from result
-- 查询考试成绩在95~100之间的
-- and &&
select studentno,studentresult from result 
where studentresult>=95 and studentresult<=100
-- 模糊查询(区间)
select studentno,studentresult from result 
where studentresult between 95 and 100
-- ! not
select studentno,studentresult from result 
where not studentno=1000

模糊查询:比较运算符

DQL数据查询语句使用示例

-- ===========模糊查询========================
-- 查询姓张的同学
-- like结合%(代表0到任意个字符) _(一个字符)
select studentno,studentname from student
where studentname like '张%'
-- 查询姓张的同学,名字只有两个字
select studentno,studentname from student
where studentname like '张_'
-- ======in(具体的一个或者多个值)========
-- 查询学号1000,1001的学生
select studentno,studentname from student
where studentno in(1000,1001)
-- 查询在北京的学生
select studentno,studentname from student
where address in('北京朝阳')
-- ========null not null====================
-- 查询地址为空的同学 null或者''
select studentno,studentname from student
where address='' or address is null
-- 查询出生日期不为空的学生
select studentno,studentname from student
where borndate is not null

联表查询

DQL数据查询语句使用示例

 -- 查询参加考试的同学(学号,姓名,科目编号,分数)
select * from student
select * from result

select s.studentno,studentname,subjectno,studentresult 
from student as s
inner join  result as r
where s.studentno=r.studentno
-- right join 
select s.studentno,studentname,subjectno,studentresult 
from student as s
right join result as r
on s.studentno = r.studentno
-- left join 
select s.studentno,studentname,subjectno,studentresult 
from student as s
left join result as r
on s.studentno = r.studentno

DQL数据查询语句使用示例

练习:

-- ===============联表查询==================
 -- 查询参加考试的同学(学号,姓名,科目编号,分数)
select * from student
select * from result

-- join(连接的表) on(判断的条件) 连接查询
-- where 等值查询
select s.studentno,studentname,subjectno,studentresult 
from student as s
inner join  result as r
where s.studentno=r.studentno
select s.studentno,studentname,subjectno,studentresult 
from student as s
inner join  result as r
on s.studentno=r.studentno
-- right join 
select s.studentno,studentname,subjectno,studentresult 
from student as s
right join result as r
on r.studentno = s.studentno
-- left join 
select s.studentno,studentname,subjectno,studentresult 
from student as s
left join result as r
on s.studentno = r.studentno
-- 查询缺考的同学(只要让成绩为null,就能找到)
select s.studentno,studentname,subjectno,studentresult 
from student as s
left join result as r
on s.studentno = r.studentno where studentresult is null
-- 查询了参加考试的同学信息:学号,学生姓名,科目名称,分数
-- 表 student result subject
-- 右查询
-- 交叉点:学生表 studentno=成绩表 studentno  
--         成绩表 subjectno=科目表 subjectno
select s.studentno,studentname,sub.subjectname,studentresult
from student as s
right join result as r
on r.studentno=s.studentno
inner join `subject` as sub
on r.subjectno=sub.subjectno
-- 我要查询哪些数据 select ...
-- 从哪几个表中查询 from 表 xxx join 连接的表 on 较差条件
-- 假设存在一种多张表查询,先查询两张表开始,然后再慢慢增加
-- from a left join b
-- from a right join b

自连接

自己的表和自己的表连接;

核心:一张表拆分成两张一样的表即可

父类表:

DQL数据查询语句使用示例

子类表

DQL数据查询语句使用示例

查询父类对应的子类关系

DQL数据查询语句使用示例

-- 查询父子信息:把一张表看为两个一模一样的表
select a.cateGoryname as '父栏目',b.categoryname as '子栏目'
from category as a,category as b
where a.categoryid = b.pid

分页和排序

排序

-- 排序:升序 ASC  降序DESC
-- 通过哪个字段排序,怎么排
select s.studentno,studentname,subjectname,studentresult
from student as s
inner join result as r
on s.studentno = r.studentno
inner join `subject` as sub
on sub.subjectno=r.subjectno
where subjectname = '高等数学-1'
order by studentresult DESC

分页

-- 为什么要分页
-- 缓解数据库的压力,给人更好的体验  ---瀑布流
-- 分页,每页显示五条数据
-- 语法:limit 起始值,页面的大小
-- 网页应用:当前页,总页数,页面的大小
-- limit 0,5 1~5条数据
-- limit 1,5 2~6条数据
select * from student limit 0,5
-- 第一页 limit 0,5   (1-1)*5
-- 第二页 limit 5,5   (2-1)*5
-- 第二页 limit 10,5  (3-1)*5
-- 第N页  limit       (n-1)*5
-- pageSize:页面的大小
-- (n-1)*pageSize:起始值
-- n:当前页
-- 数据总数/页面大小=总页数

语法:limit (查询起始下标,pageSize)

子查询

where (值是固定的,这个值是计算出来的)

本质:在where语句中嵌套一个子查询语句

-- 查询高等数学-1的所有考试结果(学号,科目编号,成绩),降序排列
-- 方式1
select studentno,subjectno,studentresult
from result as r
inner join `subject` as sub
on r.subjectno=sub.subjectno
where subjectname='高等数学-1'
order by studentresult DESC
-- 方式2:使用子查询
select studentno,subjectno,studentresult
from result
where subjectno=(
	select subjectno from `subject` 
	where  subjectname='高等数学-1'
)order by studentresult DESC
-- 查询所有高等数学-1的学生的学号
select subjectno from `subject` where subjectname='高等数学-1'
-- 查询分数不小于80分的学生的学号和姓名
select studentno,studentname
from student 
where studentno=(
select distinct studentno from result where studentresult>=80
)
-- 查询课程为高等数学-2并且分数不小于80分的同学的学号和姓名
-- 联表查询
select s.studentno,studentname
from student as s
inner join result as r
on s.studentno=r.studentno
inner join `subject` as sub
on r.subjectno=sub.subjectno
where subjectname='高等数学-2' and studentresult>=80
-- 子查询
select DISTINCT s.studentno,studentname
from student as s
inner join result as r
on s.studentno=r.studentno
where studentresult>=80 and subjectno=(
	select subjectno from `subject` where subjectname='高等数学-2'
)
-- 子查询:(由里及外)
select studentno,studentname
from student where studentno in(
	select studentno from result where studentresult>=80 and subjectno=(
		select subjectno from `subject` where subjectname='高等数学-2'
	)
)

到此这篇关于DQL数据查询语句使用示例的文章就介绍到这了,更多相关DQL数据查询内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: DQL数据查询语句使用示例

本文链接: https://www.lsjlt.com/news/175558.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • DQL数据查询语句使用示例
    目录DQL指定查询字段where条件子句联表查询分页和排序子查询DQL (Data Query Language:数据查询语言) 所有的查询操作都要用到它 select简单的查询,复杂的查询都要用到它...
    99+
    2022-12-22
    DQL数据查询 SQL数据查询
  • MySQL中DQL数据查询语句怎么写
    这篇文章将为大家详细讲解有关MySQL中DQL数据查询语句怎么写,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。目录一、基础查询二、条件查询三、排序查询四、常见函数五、分组...
    99+
    2022-10-18
  • DQL查询数据语言(MySQL)
     DQL查询数据语言(重点) Select (核心)1.查询所有字段   select * from `表名`;2.查询指定字段   select `字段1`,`字段2` from `表名`;3.给结果取一个名字   ...
    99+
    2019-10-05
    DQL查询数据语言(MySQL)
  • SQL中DQL查询语言的示例分析
    这篇文章将为大家详细讲解有关SQL中DQL查询语言的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。DQLDQL:data Query language 数据查询语...
    99+
    2022-10-18
  • MySQL之数据查询语言(DQL)
    数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块: SELECT FROM WHERE -- 创建数据库 create database if not exi...
    99+
    2019-01-15
    MySQL之数据查询语言(DQL)
  • sql查询语句的使用示例
    了解sql查询语句的使用示例?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!sql查询语句:1、查看表结构【SQL>D...
    99+
    2022-10-18
  • SQL基础语句 - 数据操作DML和数据查询DQL语句详细介绍
    文章目录 数据操作DML数据查询DQL基础查询条件查询排序查询聚合函数分组查询分页查询 数据操作DML DML:是对表中的数据进行增删改的操作 创建下面这样一个学生表进行演示...
    99+
    2023-09-08
    sql 数据库 mysql
  • 怎么使用DQL查询数据
    这篇文章将为大家详细讲解有关怎么使用DQL查询数据,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用DQL查询数据DQL语言DQL( Data Query Languag...
    99+
    2022-10-18
  • SQL数据查询之DQL语言介绍
    目录1.DQL类型的SQL语句基本概述2.准备一张可以练习查询的数据表3.DQL语句之简单的基础查询3.1.查询表中指定的多个字段的数据3.2.查询表中所有字段的数据3.3.查询表中数据时为字段设置别名3.4.查询表中所...
    99+
    2022-08-17
    SQL DQL数据查询 SQL DQL类型
  • MySQL之数据查询语法(DQL)字段控制查询
    原文:https://www.cnblogs.com/lizecheng/p/14646093.html...
    99+
    2014-08-02
    MySQL之数据查询语法(DQL)字段控制查询 数据库入门 数据库基础教程
  • 数据库查询语句
    插入数据    INSERT 语法结构        INSERT [INTO] &l...
    99+
    2022-10-18
  • SQL中如何使用DQL查询语言
    SQL中如何使用DQL查询语言,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。DQLDQL:data Query language 数据查询...
    99+
    2022-10-18
  • 6、【MySQL】使用DQL命令查询数据(二)
    ✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:乐趣国学的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:MySQL数据库学习之旅 ...
    99+
    2023-09-07
    mysql 数据库 sql
  • MySQL查询语句之复杂查询的示例分析
    这篇文章主要介绍MySQL查询语句之复杂查询的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有...
    99+
    2022-10-18
  • MySQL查询语句简单操作示例
    本文实例讲述了MySQL查询语句简单操作。分享给大家供大家参考,具体如下: 查询 创建数据库、数据表 -- 创建数据库 create database python_test_1 charset=utf...
    99+
    2022-10-18
  • 常用的MongoDB查询语句的示例代码
    目录背景方法查询示例示例一示例二示例三示例四尾言背景 最近做了几个规则逻辑。用到mongo查询比较多,就是查询交易信息跑既定规则筛选出交易商户,使用聚合管道进行统计和取出简单处理后的...
    99+
    2022-11-12
  • MySQL中数据查询语句
    一、基本概念(查询语句)* ①基本语句 “select * from 表名;”,—可查询表中全部数据; 2、“select 字段名 from 表名;”,—可查询表中指定字段的数据; 3、“select di...
    99+
    2023-08-18
    mysql 数据库 sql
  • 怎么在MySQL中使用DQL命令查询数据
    怎么在MySQL中使用DQL命令查询数据?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。SELECT 语法SELECT [AL...
    99+
    2022-10-18
  • 使用T-SQL语句操作数据表-查询数据
    查询(select)的基本格式:select <列名> from <表名> [where <查询限定条件>]解释:select...
    99+
    2022-10-18
  • 数据库分组查询语句怎么使用
    在数据库中使用分组查询语句可以对数据进行分组并对每个分组进行聚合操作。常用的分组查询语句是使用SELECT语句结合GROUP...
    99+
    2023-09-15
    数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作