精华内容
下载资源
问答
  • dql语句
    2022-04-12 17:58:30

    left join(左连接) 返回包括左表中的所有记录和右表中联结字段相等的记录 
    right join(右连接) 返回包括右表中的所有记录和左表中联结字段相等的记录
    inner join(等值连接) 只返回两个表中联结字段相等的行

      eg.   select 字段列表 from 表1 left join 表2 on 条件

    as 后加别名 on后加连接条件

    DQL查询语句:
        1.排序查询
            order by 排序字段 排序方式
            order by 排序字段1 排序方式1,排序字段2 排序方式2,......
            排序方式:
        ASC 升序(默认)
        DASC降序

        2.聚合函数:将一列数据作为一个整体,进行纵向计算        
            count:计算个数   eg. select count(列名) from 表名;
            max:计算最大值    min:计算最小值
            sum:计算和
            avg:计算平均值
        *聚合函数排除null值
            选择不包含非空的列进行计算  eg. select count(主键列名) from 表名;
            ifnull函数  eg. select count(ifnull(列名,0)) from 表名;把此列为null的值置为0

        3.分组查询
            group by       eg按列名1分组. select 列名1,列名2...... from 表名 group by 列名1 
        *需要加分组条件的,在group by前加where xxx
        *分组后,筛选展示内容,需在group by 列名 后添加 having + 筛选条件

        4.分页查询
                limit 开始的索引,每页条数
            开始的索引 = ( 当前页码 - 1 ) * 每页条数

    更多相关内容
  • DQL语句

    千次阅读 2018-05-16 23:30:57
    DQL语句查询不会对数据库中的数据进行修改.只是一种显示数据的方式Data Query Language DQL 数据查询语句,用于查询简单查询查询表所有行和列的数据 使用*表示所有列 SELECT * FROM 表名;  具体操作: SELECT * ...

    DQL语句

    查询不会对数据库中的数据进行修改.只是一种显示数据的方式

    Data Query Language DQL 数据查询语句,用于查询

    简单查询

    查询表所有行和列的数据

     使用*表示所有列
    SELECT * FROM 表名;
     具体操作:
    SELECT * FROM student;
    
    写出查询每列的名称
    SELECT 字段名 1, 字段名 2, 字段名 3, ... FROM 表名;
     具体操作:
    SELECT id, NAME ,age, sex, address FROM student;

    查询指定列

     查询指定列的数据,多个列之间以逗号分隔
    SELECT 字段名 1, 字段名 2... FROM 表名;
    
     查询 student 表中的 name 和 age 列
    SELECT NAME, age FROM student;

    别名查询

    -- 使用关键字 -- 查询时给列、表指定别名需要使用 AS 关键字
     使用别名的好处:是方便观看和处理查询到的数据
    
     语法:
    SELECT 字段名 1 AS 别名, 字段名 2 AS 别名... FROM 表名; 
    SELECT 字段名 1 AS 别名, 字段名 2 AS 别名... FROM 表名 AS 表别名;
    
    
    具体操作:
     查询 sudent 表中 name 和 age 列,name 列的别名为”姓名”,age 列的别名为”年龄”
    SELECT NAME AS 姓名, age AS 年龄 FROM student;
    
     查询 sudent 表中 name 和 age 列,student 表别名为 s
    SELECT NAME, age FROM student AS s;

    清除重复值

    查询指定列并且结果不出现重复数据
    SELECT DISTINCT 字段名 FROM 表名;
    
    具体操作:
     查询 name,age 列并且结果不出现重复 name
    SELECT DISTINCT NAME, age FROM student;

    查询结果参与运算

    某列数据和固定值运算
    SELECT 列名 1 + 固定值 FROM 表名;
    
    某列数据和其他列数据参与运算
    SELECT 列名 1 + 列名 2 FROM 表名;
    -- 注意: 参与运算的必须是数值类型
    -- 需求:
    -- 添加数学,英语成绩列,给每条记录添加对应的数学和英语成绩
    -- 查询的时候将数学和英语的成绩相加
    -- 实现:
    -- 修改 student 表结构,添加数学和英语成绩列
    
    添加数学,英语成绩列,给每条记录添加对应的数学和英语成绩
    ALTER TABLE student ADD math INT;
    ALTER TABLE student ADD english INT;
    
    给每条记录添加对应的数学和英语成绩
     查询 math + english 的和
    SELECT math + english FROM student;
    
     结果确实将每条记录的 math 和 english 相加,但是效果不好看
     查询 math + english 的和使用别名”总成绩”
    SELECT math + english 总成绩 FROM student;
    
     查询所有列与 math + english 的和并使用别名”总成绩”
    SELECT *, math + english 总成绩 FROM student;
     查询姓名、年龄,将每个人的年龄增加 10
    SELECT name, age + 10 FROM student;

    条件查询

    前面我们的查询都是将所有数据都查询出来,但是有时候我们只想获取到满足条件的数据
    语法格式:SELECT 字段名 FROM 表名 WHERE 条件;
    流程:取出表中的每条数据,满足条件的记录就返回,不满足条件的记录不返回
    准备数据
    CREATE TABLE student3 (
     id int,
     name varchar(20),
     age int,
     sex varchar(5),
     address varchar(100),
     math int,
     english int
    );
    INSERT INTO student3(id,NAME,age,sex,address,math,english) 
    VALUES (1,'马云',55,'男','杭州',66,78),(2,'马化腾',45,'女','深圳',98,87),
           (3,'马景涛',55,'男','香港',56,77),(4,'柳岩',20,'女','湖南',76,65),
           (5,'柳青',20,'男','湖南',86,NULL),(6,'刘德华',57,'男','香港',99,99),
           (7,'马德',22,'女','香港',99,99),(8,'德玛西亚',18,'男','南京',56,65);

    比较运算符

    -- 大于 <小于 <=小于等于 >=大于等于 =等于 <>、!=不等于
    
    具体操作:
    查询 math 分数大于 80 分的学生
    SELECT * FROM student3 WHERE math>80;
    
    查询 english 分数小于或等于 80 分的学生
    SELECT * FROM student3 WHERE english<=80;
    
    查询 age 等于 20 岁的学生
    SELECT * FROM student3 WHERE age=20;
    
    查询 age 不等于 20 岁的学生
    -- SELECT * FROM student3 WHERE age!=20;不推荐
    SELECT * FROM student3 WHERE age<>20;

    逻辑运算符

    -- and(&&) 多个条件同时满足 or(||) 多个条件其中一个满足 not(!) 不满足
    
    具体操作:
    查询 age 大于 35 且性别为男的学生(两个条件同时满足)
    SELECT * FROM student3 WHERE age>35 AND sex='男';
    
    查询 age 大于 35 或性别为男的学生(两个条件其中一个满足)
    SELECT * FROM student333 WHERE age>35 OR sex='男';
    
    查询 id 是 135 的学生
    SELECT * FROM student3 WHERE id=1 OR id=3 OR id=5;

    in 关键字

    语法格式:SELECT 字段名 FROM 表名 WHERE 字段 IN (数据 1, 数据 2...);
    IN 里面的每个数据都会作为一次条件,只要满足条件的就会显示
    
    具体操作:
    • 查询 id 是 135 的学生
    SELECT * FROM student3 WHERE id IN (1,3,5);
    
    • 查询 id 不是 135 的学生
    SELECT * FROM student3 WHERE id NOT IN (1,3,5);

    范围查询

    BETWEEN1 AND2 表示从值 1 到值 2 范围,包头又包尾 
    比如:age BETWEEN 80 AND 100
    相当于: age>=80 && age<=100
    
    具体操作:
    查询 english 成绩大于等于 75,且小于等于 90 的学生
    SELECT * FROM student3 WHERE english>=75 AND english<=90;
    SELECT * FROM student3 WHERE english BETWEEN 75 AND 90;

    like 关键字

    -- LIKE 表示模糊查询 
    SELECT * FROM 表名 WHERE 字段名 LIKE '通配符字符串'; 
    
    满足通配符字符串规则的数据就会显示出来 
    所谓的通配符字符串就是含有通配符的字符串 MySQL 通配符有两个: 
    -- %:表示 0 个或多个字符(任意个字符) 
    -- _: 表示一个字符
    
    具体操作:
    • 查询姓马的学生
    SELECT * FROM student3 WHERE NAME LIKE '马%';
    
    • 查询姓名中包含'德'字的学生
    SELECT * FROM student3 WHERE NAME LIKE '%德%';
    
    • 查询姓马,且姓名有三个字的学生
    SELECT * FROM student3 WHERE NAME LIKE '马__';

    展开全文
  • SQL语言之DQL语句

    2021-09-10 11:54:16
    数据库版本:MySQL8 文章目录 一、DQL语句简介 二、DQL语句 1.简单查询 2.条件查询 3.模糊查询 4.字段控制查询 5.结果集排序 7.聚合函数 7.分组查询 8.LIMIT结果显示 一、DQL语句简介 DQL,Data Query Language,数据...

    数据库版本:MySQL8

    一、DQL语句简介

    DQL,Data Query Language,数据查询语言,用来查询数据记录。DQL语句并不会改变数据库,而是让数据库将查询结果发送结果集给客户端,返回的结果是一张虚拟表。

    DQL语句完整语法格式

    SELECT 要查询的列名
    FROM 基本表名 			# 要查询的基本表名字
    WHERE 限定条件			# 条件限定语句,用来筛选符合条件的记录
    GROUP BY 分组列			# 按照分组列分组,比如说按照部门列分组,分组之后一个部门是一条记录
    HAVING 限定条件			# 分组之后的条件,可以按照这个条件筛选分组之后的结果
    ORDER BY 排序规则		# 按照排序规则对结果集进行排序
    LIMIT 开始下标,结果数量;	# 显示指定条数的结果记录 
    

    二、DQL语句

    1.简单查询

    1.查询指定列

    	SELECT 列名1,列名2,...,列名n FROM 基本表名 [WHERE条件语句];
    

    2.查询所有列

    	SELECT * FROM 基本表名;
    

    2.条件查询

    所谓条件查询就是按照给出的条件查询,比如说查询姓名为李小明的记录。需要用到WHERE条件语句,常用到的运算符有:=、!=、<>、<、<=、>、>= 、BETWEEN…AND 、 IN(set)、 IS NULL、AND、OR、 NOT等等。
    1.AND

    	# 在hero表中查询occ='刺客'并且sex='男'的英雄信息;
    	SELECT * FROM hero WHERE occ='刺客' AND sex = '男';
    

    2.OR

    	# 在hero表中查询occ='刺客'或sex='男'的英雄信息;
    	SELECT * FROM WHERE occ='刺客' OR sex = '男';
    

    3.IN

    	# 查询ID是15,28,36的英雄信息
    	SELECT * FROM hero WHERE ID IN (15,28,36);
    
    NOT IN作用与IN相反,用法相同
    

    4.IS NULL
    IS NULL用于查询数据为NULL的记录,NOT IS NULL用法与其相同

    	# 查询姓名为null的记录
    	SELECT * FROM hero WHERE name IS NULL;
    

    5.BETWEEN…AND
    BETWEEN…AND用于查询在某个连续范围内的记录,包含开始值和结束值

    	# 查询ID在50-80的英雄信息
    	SELECT * FROM hero WHERE ID BETWEEN 50 AND 80;
    

    6.NOT

    	# 查询职业为刺客但不为男性的角色;
    	1. SELECT * FROM hero WHERE occ='刺客' AND sex NOT '男';
    	2. SELECT * FROM hero WHERE occ='刺客' AND sex!='男';
    	3. SELECT * FROM hero WHERE occ='刺客' AND sex <>'男'; 
    

    3.模糊查询

    模糊查询,就是通过模糊的条件查询数据,比如说查询name以'A'开头的记录。
    
    SELECT * FROM 基本表名 WHERE 列名 LIKE '表达式' # 表达式必须是字符串形式
    

    格式中的表达式中包含两个符号:
    通配符 ’ _ ’ :代表任意一个字符
    通配符 ’ % ’ :代表0-n个字符
    举个例子来说,假如我们需要查询查找姓李的同学信息,那么查询条件可以设置为 “name like ‘李%’”,“李”是姓氏,放在第一位,’%'代表名字。

    #	1.在hero表中查询姓李的角色信息
    SELECT * FROM hero WHERE name LIKE '李%';
    
    #	2.在hero表中name包含"天"的角色信息
    SELECT * FROM hero WHERE name LIKE '%天%';
    

    4.字段控制查询

    1.去除结果集中的重复记录
    有的时候我们可能会查找到重复的记录,这时候我们需要使用 DISTINCT 关键字来删除结果集中的重复记录。

    	SELECT DISTINCT 列名 FROM 基本表名 ; 
    	# 查询emp表中sal所有不重复的记录
    	SELECT DISTINCT sal FROM emp; 
    

    2.查看两列数据之和
    如果两列数据均为数值类型,那么可以查看二者的数值之和。

    	# 查询emp表中的sal1与sal2之和
    	SELECT sal1+sal2 FROM emp;
    

    还有可能会遇到相加的两个数据中有一个null的情况,如果不进行相应处理的话结果也会变为null值,我们需要使用IFNULL()函数对null值处理。

    	格式:IFNULL(参数1,参数2)
    	作用:将出现的Null值转换为指定数值。
    	参数1:可能会出现Null值的列名。
    	参数2:Null转换的目标值。
    
    	SELECT sal+IFNULL(comm,0) FROM emp;
    

    3.给列名添加别名
    有时候查询结果中的列名会显的很不美观,我们可以给其添加别名。

    	SELECT 列名 [AS] 新列名 FROM 基本表名;
    	# AS 可以省略
    	SELECT sal salary FROM emp;
    

    5.结果集排序

    排序指的是针对结果集的排序,可以按照一个列的值排序,也可以按照多个列的值排序,使用的关键字均为 ORDER。
    1.单列排序

    	SELECT * FROM 基本表名 ORDER BY 排序参照列 ASC/DESC;
    
    	示例
    	SELECT * FROM hero ORDER BY id DESC;
    
    	ASC :升序
    	DESC:降序
    	如果没有指定排序规则,默认为ASC。
    

    2.多列排序

    	SELECT * FROM 基本表名 ORDER BY 参照列1 ASC/DESC ,参照列2 ASC,DESC,...,参照列n ASC/DESC;
    
    	示例:
    	SELECT * FROM hero ORDER BY id DESC,name ASC;
    
    多列排序时,首先按照参照列1的排序规则排序,如果参照列数值相同,按照参照列2的排序规则排序,以此类推。
    

    7.聚合函数

    	聚合函数用来对列数据进行运算,一共有五种。
    	1. COUNT(列名):统计指定列不为NULL的记录行数;
    	2. MAX(列名):计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算;
    	3. MIN(列名):计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算;
    	4. SUM(列名):计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0;
    	5. AVG(列名):计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0;
    

    1.COUNT

    1. 查询emp表中的记录数
    SELECT  COUNT(*)  FROM emp;
    2. 查询emp表中有comm值的记录数
    SELECT COUNT(comm) FROM  emp;
    

    2.MAX与MIN

    查询emp表中sal列的最大值与最小值
    1. SELECT MAX(sal),MIN(sal) FROM emp;
    

    3.SUM

    1. 查询emp表中depno=1002的所有人的sal之和;
    SELECT SUM(sal) Total FROM emp WHERE depno=1002;
    

    4.AVG

    1. 查询emp表中的sal平均值
    SELECT AVG(emp) Average FROM emp ; 
    

    7.分组查询

    所谓分组查询,就是将查询结果按照某个字段的值进行分类,比如说,查询每一个部门的工资总和,其中就是按照“部门”这一字段进行分组的。
    
    1. 单列分组
    SELECT 列名 FROM 基本表名 GROUP BY 分组参照列;
    2. 多列分组
    SELECT 列名 FROM 基本表名 GROUP BY 分组参照列1,分组参照列2,...,分组参照列n;
    

    示例

    1. 查询emp表中deptno与按照deptno分组的的sal之和的记录。
    SELECT deptno,SUM(sal) FROM emp GROUP BY deptno;
    2. 统计stu表中每个班级(gradename)中男女(gender)人数。
    SELECT grandname,gender,COUNT(*) FROM stu;
    
    注意,如果DQL语句中有分组操作,那SELECT后面只能跟分组参照列以及聚合函数。
    

    HAING关键字:用于筛选分组后的数据记录,与WHERE条件子句作用一样,但HAVING子句可以使用聚合函数,WHERE子句不能。

    1. 查询emp表中的部门工资总和大于50000的部门编号以及工资总和
    
    SELECT deptno,SUM(sal) FROM emp GROUP BY deptno HAVING SUM(sal)>50000;
    

    8.LIMIT结果显示

    LIMIT作用为限制查询结果显示条数
    
    语法格式
    LIMIT 起始行数,显示条数;
    
    示例
    查询emp表中sal>2000的记录,结果从第1条开始,一共显示3条;
    SELECT * FROM emp WHERE sal>2000 LIMIT 0,3;
    
    展开全文
  • 数据库DQL语句

    2022-03-07 14:25:02
    数据库02 DML语句 DML用于对表中的数据进行增删改 添加数据 insert ...DQL语句 基本查询 条件查询 聚合函数 分组查询 having适用于分组之后的过滤 分页查询 练习 DQL语句执行顺序 ...

    数据库02

    DML语句

    DML用于对表中的数据进行增删改

    • 添加数据 insert
    • 修改数据 update
    • 删除数据 delete
    • 在这里插入图片描述

    添加数据
    在这里插入图片描述

    1. 在表中插入一行数据
      在这里插入图片描述
    2. 如果要给全部字段添加数据则不用说明字段名
    3. 批量添加则用括号区分

    修改数据
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    如果不加where,则整张表的那个字段都会更新

    删除语句

    在这里插入图片描述

    DQL语句

    在这里插入图片描述

    基本查询

    条件查询

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    聚合函数

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    分组查询

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    having适用于分组之后的过滤
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    分页查询

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    练习

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    DQL语句执行顺序

    在这里插入图片描述

    展开全文
  • 适合基础的MySQL的基础查询语句
  • # # DQL:查询语句select字段列表from表名列表where条件列表group by分组字段having分组之后的条件order by排序limit分页限定基础查询:1. 多个字段的查询select 字段名1,字段名2... from 表名;* 注意:如果查询...
  • SQL语言分为几大类 DML(Data Manipulate Language):数据操纵语言,用于添加、删除、修改数据库记录,并检查数据完整性 关键字:insert, delete, update 等 ... DQL(Data Query Language):数据查
  • DML语句: 增删改表中数据(很重要) 添加数据 语法: insert into 表名(列名1, 列名2,…列名n) values(值1, 值2,…,值n); 应该在插入单行的时候使用VALUES,在插入多行的时候使用VALUE, 这样速度比较快一点,不过两...
  • MySql 笔记目录一、 DQL 语言(1) 基础查询① 基础查询语句② 查询常量值③ 查询表达式④ 查询函数⑤ 起别名测试一:测试二:⑥ 去重⑦ CONCAT 连接(2) 条件查询 (AND , OR , NOT)(3) 模糊查询 (like,between and...
  • DQL语句练习 首先创建一个数据库 创建数据库的语法: create database [if not exists] 数据库名; if not exists 的意思为数据库名称存在,不执行任何操作,数据库不存在,创建数据库 创建一个名为 itcast ...
  • DQL的执行过程以及MYSQL的架构 MYSQL的基础架构大体上可以分为两块: Server层 Server层包括连接器、查询缓存、分析器、优化器、执行器。MYSQL的基本服务都在这一层,内置函数、触发器、试图。 存储引擎层 ...
  • DQL语句

    2021-01-19 21:54:36
    1.数据库三范式(设计表的原则) NF:normal form 说明: 严格意义上,有5NF; 1NF,2NF,3NF,4NF,5NF;BCNF; 第一范式(1NF) 1NF的定义为:符合1NF的关系中的每个属性都不可再分 1NF是所有关系型数据库的最基本要求,你在...
  • MySQL基础——DQL语句

    2022-06-12 10:04:53
    在上篇文章中,我们学习了MySQL基础——DML语句,这篇文章学习MySQL基础——DQL语句。DQL英文全称是Data Query Language(数据查询语言),用来查询数据库中的表的记录。接下来的代码演示使用数据表结构如下:数据表...
  • GBase产品学习-DQL语句

    2022-02-24 10:30:33
    GBase 8a MPP Cluster执行单个复制表DQL语句,会下发到随机一个计算节点上。 因为每个节点都有复制表,随机选择一个节点执行即可。
  • DML语句和 DQL语句

    2020-10-26 11:57:03
    1.DML(一) 1.1 DML 的作用 1.1.1 插入数据的语法:insert into + 表名 1.1.2 ... DQL 语句 3.1 DQL 语句的作用 *表示所有,指查询所有的字段。 查询的字段没有顺序要求,但必须是表中有的。 3.2 查询字段 3.3 查询函数
  • Mysql基本语法DML语句的总结(笔记) Mysql基本语法DML语句的总结--笔记Mysql基本语法DML语句的总结(笔记)1.DML语句之...里面语法是最多的5.1 最基本的查询语句 select5.2 DQL语句之条件查询 where 关键字5.3 DQL语句
  • mysql DQL语句

    2022-04-13 16:06:35
    1. 条件查询 Select 字段名 from 表名 where 约束条件; 通配符: - 匹配单个字符 % 匹配任意多个字符 ...关键字 like 模糊查询 ...Select 字段名 from 表名 where 约束条件 Order by 关键字 asc/desc;...
  • Spring+SpringMVC+Mybatis(开发必备技能)02、完整DML&DQL语句demo示例配套编码
  • 文章目录DQL语言(查询)1. 基础查询select例题2. 条件查询语法模糊查询like例题3. 排序查询4. 常见函数5. 分组函数6. 分组查询7. 连接查询8. 子查询9. 分页查询10. union联合查询 DQL语言(查询) 1. 基础查询 ...
  • DQL语句的悲观锁

    2021-05-14 21:37:45
    关于DQL语句的悲观锁? 对于一个DQL语句来说,末尾是可以添加这样一个关键句的:for update; select ename ,sal from emp where job = ‘Tom’ for update; 以上DQL语句的含义是: 在本次事务的执行过程中,...
  • DQL语句中,where和having语句区别: 1.where语句是放在group by的前边,having是放在group by的后边,因此,where是对分组前的数据进行过滤,而having则是对分组后的数据进行过滤; 2.where后边不能用聚合函数,...
  • DQL 目的:在MySQL管理软件中,通过DDL语言实现数据的查询操作。 简单查询: 查看所有列:前提是需要进入数据库,不进入数据库,使用 数据库.表名 的格式。 select * from 表名; 查看部分列: select * 列1,列2,...
  • 最近在捣鼓Oracle,发现要学好DQL,了解sql语句的执行顺序是很有必要的,个人理解,欢迎指错! 1、 没有子查询的情况下 select avg(score) from student where gender = '男' group by class_id having avg...
  • 完整的DQL 语句

    2020-10-14 19:35:47
    select 5 ... from 1 ... where 2 ... group by 3 ... having 4 ... order by 6 ...
  • 执行顺序 from>where>group by和having>select>order by>limit
  • 数据库的 DML DDL DCL DQL语句SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE 子句组成...
  • DQL常用语句总结

    2021-05-04 18:42:51
    DQL语句:常用来查询数据库表中的数据 关键字:SELECT … FROM … WHERE 语法: select 字段列表 from 表名列表 where 条件列表 group by 分组字段 having 分组之后的条件 order by 排序 limit ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,669
精华内容 13,867
关键字:

dql语句

友情链接: ImgAug.zip