DQL 数据查询 select

一、基础查询

1. 查询指定列

语法

sql 复制代码
select 字段名1,字段名2 from 表名;

示例

sql 复制代码
select stu_name,stu_age from stus where stu_age>20;

2. 计算列

可以直接对字段进行算术运算展示结果

sql 复制代码
select stu_name,2021-stu_age from stus;

3. as 设置字段别名

给查询列设置别名,as 关键字可以省略

sql 复制代码
select stu_name,2021-stu_age as stu_birth_year from stus;
select stu_name as 姓名,2021-stu_age as 出生年份 from stus;

4. distinct 消除重复行

sql 复制代码
-- 原始查询,包含重复年龄
select stu_age from stus;
-- 去除重复数据
select distinct stu_age from stus;

二、where 条件查询:比较运算符

sql 复制代码
-- = 等于
select * from stus where stu_num = '20230101';

-- != 、<> 不等于(两种写法等价)
select * from stus where stu_num != '20230101';
select * from stus where stu_num <> '20230101';

-- > 大于
select * from stus where stu_age>18;

-- < 小于
select * from stus where stu_age<20;

-- >= 大于等于
select * from stus where stu_age>=20;

-- <= 小于等于
select * from stus where stu_age<=20;

-- between and 区间查询,闭区间 [最小值,最大值]
select * from stus where stu_age between 18 and 20;

三、where 逻辑运算符 and or not

sql 复制代码
-- and 并且:所有条件同时满足
select * from stus where stu_gender='女' and stu_age<21;

-- or 或者:满足任意一个条件即可
select * from stus where stu_gender='女' or stu_age<21;

-- not 取反
select * from stus where stu_age not between 18 and 20;

四、like 模糊查询

通配符说明

%:匹配任意数量字符(0个、1个、多个)

_:只匹配单个字符

sql 复制代码
-- 查询姓名包含张
select * from stus where stu_name like '%张%';

-- 查询姓名以张开头
select * from stus where stu_name like '张%';

-- 查询姓名以三结尾
select * from stus where stu_name like '%三';

-- 查询第二个字符为三
select * from stus where stu_name like '_三%';

五、order by 排序

语法

sql 复制代码
select * from 表名 where 条件 order by 字段 asc|desc;

asc 升序(默认,可以不写);desc 降序

sql 复制代码
-- 单字段排序
select * from stus where stu_age>15 order by stu_gender desc;

-- 多字段排序
-- 优先第一个字段排序;第一个字段值相同,再按第二个字段排序
select * from stus where stu_age>15 order by stu_gender asc,stu_age desc;
相关推荐
今天AI了吗1 小时前
Python 基础语法(一):常量、变量、输入输出与运算符
开发语言·数据库·人工智能·python·sql·深度学习·机器学习
Csvn2 小时前
📊 SQL 入门 Day 22:视图与物化视图
后端·sql
瀚高PG实验室11 小时前
SQL优化案例:存储过程、复杂SQL拆成简单SQL提升整体性能
数据库·sql·postgresql·瀚高数据库
Code额11 小时前
基于 SQLAlchemy 2.x,面向 MySQL 数据库的从入门到精通实战教程(2)
数据库·sql·mysql·adb·ai
wear工程师14 小时前
MySQL 索引条件下推是什么?Using index condition 并不是覆盖索引
sql·mysql
smilejingwei1 天前
Trae+SQLazy 实践 SQL 国产化移植:Oracle => 达梦
数据库·sql·oracle
茉莉玫瑰花茶1 天前
SQL 调优 [ 1 ]
数据库·sql
Databend1 天前
从传统分区到微分区,Snowflake 与 Databend 如何减少数据扫描
大数据·数据库·sql
不会叫的狼1 天前
sql基础
sql
三8441 天前
MySQL 文件读写函数详解:从 CTF 实战到 LOAD_FILE、INTO OUTFILE、LOAD DATA INFILE 应用
数据库·sql