零基础学习数据库SQL语句之查询表中数据的DQL语句

是用来查询数据库表的记录的语句

在SQL语句中占有90%以上

也是最为复杂的操作 最为繁琐的操作

DQL语句很重要很重要

初始化数据库和表

USE dduo;

create table tb_emp(
    id int unsigned primary key auto_increment comment 'ID',
    username varchar(20) not null unique comment '用户名',
    password varchar(36) default '123456' comment '密码',
    name varchar(10) not null comment '姓名',
    gender tinyint unsigned not null comment '性别 说明:1 男 2 女',
    image varchar(300) comment '图像',
    job tinyint unsigned comment '职位 说明:1 班主任 2 讲师 3 学工主管 ',
    entrydata date comment '入职位时间',
    create_time datetime not null comment '创建时间',
    update_time datetime not null comment '修改时间'
)comment '员工表';

INSERT INTO tb_emp VALUES
(1,'gaochang','123456','高畅',2,'1.jpg',1,'2000-01-01','2022-10-27 17:12:32','2022-10-27 17:12:32'),
(2,'luanzengxv','123456','栾增旭',1,'2.jpg',2,'2000-01-01','2022-10-27 17:12:32','2022-10-27 17:12:32'),
(3,'liuyan','123456','刘岩',1,'3.jpg',3,'2000-01-01','2022-10-27 17:12:32','2022-10-27 17:12:32');

基本语法

USE dduo;
-- 查询指定字段name entrydate并返回
select  name ,entrydata from tb_emp;

-- 查询所有字段
#不推荐的方式 不直观 性能低 建议一个个的输入
select * from tb_emp;

-- 查询name 并起别名(姓名)
-- 字段展示时会自动变化
select name as 姓名 from tb_emp;
select name 姓名 from tb_emp;
select name '姓名' from tb_emp;
select name '姓 名' from tb_emp;

-- 查询员工一共有多少种密码 不能重复
select distinct tb_emp.password from tb_emp;

注意事项

*号表示查询所有字段 在实际开发中尽量少用 不直观而且影响效率

条件查询

在基本查询的基础上加上条件

我们主要学习的是条件的构建方式

 

USE dduo;

-- 查询姓名为高畅的员工
SELECT * from user where name='高畅';

-- 查询age小于等于20的员工
SELECT * from user where age<20;

-- 查询age是null的员工信息
SELECT * from user where age is null;
SELECT * from user where age is not null;

-- 查询age不等于19的信息
SELECT * from user where age!=19;

-- 查询指定创建日期的员工信息
SELECT * from user where creat_time >='2024-01-01 ' and creat_time<='2024-12-12' ;
SELECT * from user where creat_time between '2024-01-01 ' and'2024-12-12'  ;

-- 查询指定创建日期并且年龄为20的员工信息
SELECT *from user where  creat_time between '2024-01-01' and '2024-12-12' && age =20 ;
SELECT *from user where  creat_time between '2024-01-01' and '2024-12-12' and age =20  and name='高畅';

-- 查询年龄是19或者20的员工信息
SELECT *from user where age=19 || age=20;
SELECT *from user where age=19 or age=20;
SELECT *from user where age in (19,20);

-- 查询姓名为两个字符的员工信息 (模糊查询)
SELECT *FROM user WHERE name LIKE '__';
SELECT *FROM user WHERE name LIKE '___';

-- 查询姓氏为高的员工
SELECT *FROM user WHERE name LIKE '高%' or '高%%';

注意事项

null 和 模糊查询的两个占位符

聚合函数

为分组查询打下基础

将一列数据作为一个整体 进行纵向运算

use dduo;
-- 聚合函数

-- 统计该企业的员工数量 (非空字段)
-- 统计数据库中所有的数据量 建议使用count(*)
select count(name) from user;
select count('1') from user;
select count(*) from user;

-- 统计最早更新日期的员工
select min(user.update_time) from user;
select max(user.update_time) from user;

-- 统计更新日期的平均值
select avg(user.update_time) from user;

-- 求年龄之和
select sum(user.age) from user;

注意事项

null值不参与所有的聚合函数的运算

统计数量可以使用:count(*) count(字段) count(常量)

推荐使用 count( * )

分组查询

use dduo;

-- 根据年龄分组 统计各年龄的员工数量
select user.age,count(*) from user group by age ;

-- 先查询更新时间 再根据年龄筛选 数量大于3的年龄
select age,count(*) from user where update_time< '2025-01-01' group by age having count(*)>2;

面试题  

注意事项

排列查询

use dduo;

-- 根据更新时间 对员工进行升序排序
select *from user order by update_time asc;

-- 降序排序
select *from user order by update_time desc;

-- 根据创建时间对员工进行升序排列 如果相同 按照更新时间进行降序排序
select *from user order by creat_time asc ,update_time desc ;

注意事项

如果是多字段排序 当第一个字段值相同时 才会根据第二个字段进行排序

分页查询

use dduo;

-- 分页查询

-- 1.从起始索引0开始 开始查询员工数据 每页展示1条记录
select *from user limit 0,1;

-- 查询第1页 员工数据每页展示2条记录
select *from user limit 2,2;

-- 查询第2页 员工数据每页展示2条记录
select *from user limit 4,2;

-- 查询第3页 员工数据每页展示2条记录
select *from user limit 6,2;

-- 查询第4页 员工数据每页展示1条记录
select *from user limit 8,1;

起始索引 = (页码-1) * 每页展示的记录数

将来开发关系型数据库的时候

前端并不会把起始索引传递过来 而是传递页码

我们要换算成索引 在MySQL中书写SQL语句

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/592561.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

大语言模型中的第一性原理:Scaling laws

大语言模型的尺度定律在大语言模型的训练过程中起到了非常重要的作用。即使读者不参与大语言模型的训练过程&#xff0c;但了解大语言模型的尺度定律仍然是很重要的&#xff0c;因为它能帮助我们更好的理解未来大语言模型的发展路径。 1. 什么是尺度定律 尺度定律&#xff08…

stamps做sbas-insar,时序沉降图怎么画?

&#x1f3c6;本文收录于「Bug调优」专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&&…

【跟我学RISC-V】(二)RISC-V的基础知识学习与汇编练习

写在前面&#xff1a; 这篇文章是跟我学RISC-V的第二期&#xff0c;是第一期的延续&#xff0c;第一期主要是带大家了解一下什么是RISC-V,是比较大体、宽泛的概念。这一期主要是讲一些基础知识&#xff0c;然后进行RISC-V汇编语言与c语言的编程。在第一期里我们搭建了好几个环…

WPF之绑定验证(错误模板使用)

1&#xff0c;前言&#xff1a; 默认情况下&#xff0c;WPF XAML 中使用的绑定并未开启绑定验证&#xff0c;这样导致用户在UI上对绑定的属性进行赋值时即使因不符合规范内部已抛出异常&#xff08;此情况仅限WPF中的数据绑定操作&#xff09;&#xff0c;也被程序默认忽略&…

4.【Orangepi Zero2】Linux定时器(signal、setitimer),软件PWM驱动舵机(SG90)

Linux定时器&#xff08;signal、setitimer&#xff09;&#xff0c;软件PWM驱动舵机&#xff08;SG90&#xff09; signalsetitimer示例 软件PWM驱动舵机&#xff08;SG90&#xff09; signal 详情请看Linux 3.进程间通信&#xff08;shmget shmat shmdt shmctl 共享内存、si…

【计算机网络】循环冗余校验:Cyclic Redundancy Check

1. 任务目标 利用循环冗余校验&#xff08;CRC&#xff09;检测错误。 循环冗余校验&#xff08;英语&#xff1a;Cyclic redundancy check&#xff0c;通称 CRC&#xff09;是一种根据网上数据包或计算机文件等数据产生简短固定位数校验码的一种散列函数&#xff0c;主要用来…

智慧文旅展现文化新风貌,科技助力旅行品质升级:借助智慧技术,文旅产业焕发新生机,为旅行者带来更高品质的文化体验之旅

一、引言 在数字化、智能化的浪潮下&#xff0c;文旅产业正迎来前所未有的发展机遇。智慧文旅作为文旅产业与信息技术深度融合的产物&#xff0c;不仅为旅行者带来了全新的文化体验&#xff0c;也为文旅产业注入了新的活力。本文旨在探讨智慧文旅如何借助智慧技术展现文化新风…

C++:二叉搜索树的底层模拟实现

概念&#xff1a; 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者是具有以下性质的二叉树&#xff1a; 搜索二叉树的操作&#xff1a; int a[] {8, 3, 1, 10, 6, 4, 7, 14, 13};二叉搜索树需要满足左子树比根小&#xff0c;右子树比根大&#xff0c;…

Leetcode—1235. 规划兼职工作【困难】(upper_bound、自定义排序规则)

2024每日刷题&#xff08;125&#xff09; Leetcode—1235. 规划兼职工作 算法思想 实现代码 class Solution { public:int jobScheduling(vector<int>& startTime, vector<int>& endTime, vector<int>& profit) {int n startTime.size();vec…

循环神经网络完整实现(Pytorch 13)

一 循环神经网络的从零开始实现 从头开始基于循环神经网络实现字符级语言模型。 %matplotlib inline import math import torch from torch import nn from torch.nn import functional as F from d2l import torch as d2lbatch_size, num_steps 32, 35 train_iter, vocab …

(六)SQL系列练习题(下)#CDA学习打卡

目录 三. 查询信息 16&#xff09;检索"1"课程分数小于60&#xff0c;按分数降序排列的学生信息​ 17&#xff09;*按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩 18&#xff09;*查询各科成绩最高分、最低分和平均分 19&#xff09;*按各科成绩…

PHP 反序列化

一、PHP 序列化 1、对象的序列化 <?php class people{public $nameGaming;private $NationLiyue;protected $Birthday12/22;public function say(){echo "老板你好呀&#xff0c;我是和记厅的镖师&#xff0c;叫我嘉明就行&#xff0c;要运货吗你&#xff1f;"…

手机恢复出厂设置ip地址会变吗

当我们对手机进行恢复出厂设置时&#xff0c;很多人会担心手机的IP地址是否会发生变化。IP地址对于手机的网络连接至关重要&#xff0c;它决定了手机在网络中的身份和位置。那么&#xff0c;手机恢复出厂设置后&#xff0c;IP地址到底会不会发生变化呢&#xff1f;虎观代理小二…

Jenkins docker部署springboot项目

1、创建jenkins容器 1&#xff0c;首先&#xff0c;我们需要创建一个 Jenkins 数据卷&#xff0c;用于存储 Jenkins 的配置信息。可以通过以下命令创建一个数据卷&#xff1a; docker volume create jenkins_data启动 Jenkins 容器并挂载数据卷&#xff1a; docker run -dit…

Python量化择时的技术指标函数

Python量化择时的技术指标函数 技术指标通过对原始数据&#xff08;开盘价、收盘价、最低价、最高价、成交量、成交金额、成交笔数&#xff09;的处理&#xff0c;来反映出市场的某一方面深层的内涵&#xff0c;这些内涵是很难通过原始数据直接看出来的。技术指标能客观地反映…

EXCEL怎样把筛选后含有公式的数据,复制粘贴到同一行的其它列?

自excel2003版之后&#xff0c;常规情况下&#xff0c;复制筛选后的数据&#xff0c;会忽略隐藏行&#xff0c;仅复制其筛选后的数据&#xff0c;粘贴则是粘贴到连续单元格区域&#xff0c;不管行是在显示状态还是隐藏状态。 一、初始数据&#xff1a; 二、题主的复制粘贴问题…

Codigger数据篇(下):数据安全的全方位保障

在数字化浪潮中&#xff0c;数据已成为现代企业的核心财富。Codigger作为领先的数据服务平台&#xff0c;深知数据安全对于用户的重要性&#xff0c;因此在深挖数据价值的同时&#xff0c;我们始终坚守数据安全防线。 一、双重加密技术保障 Codigger平台运用先进的加密通信和…

C语言学习【最基本】

C语言学习 简单的 C 程序示例 #include "stdio.h" /* 提供键盘输入与屏幕输出支持 */ /* 相当于把stdio.h文件中的所有内容都输入到该行所在位置 拷贝-粘贴 *//* void 表示不带任何参数 */ int main(void) /* 函数名 */ { …

UE—动画

1.动画蓝图 创建动画蓝图 在蓝图中添加状态机 状态机中状态的转换 转换条件设定 播放的动画 使用动画资源 使用混合空间 2.混合空间 混合空间1D 阿赵UE学习笔记——26、动画混合空间_ue 一维动画混合空间-CSDN博客 蓝图创建 混合空间内 按Ctrl到动画节点上即可预览 修改…

1. 傅里叶变换原理

1. 频率域的引入 1.1 时域角度 1.2. 频域角度 不同的角度表达的是同一件事情&#xff0c;从时间域和空间域来进行表达同一间事情 。时间域是都动态的&#xff0c;频率域是静止的 1.3. 时域角度和频域角度 1.4 相位 2 函数的时域角度 2.1 时间域 2.2 频率域 2.3 例子 2.3…