第五章 SQL查询(一)

第五章 SQL查询(一)

一,什么是查询

在这里插入图片描述

查询产生一个虚拟表
看到的是表形式显示的结果,但结果并不真正存储
每次执行查询只是从数据表中提取数据,并按照表的形式显示出来

二,查询语法

SELECT    <列名> 
FROM      <表名> 
[WHERE    <查询条件表达式>] 
[ORDER BY <排序的列名>[ASCDESC]]

在这里插入图片描述

1.查询全部的行和列

-- 查询所有的行和列 * 代表所有
SELECT * FROM menus;

2.查询部分行和列

-- 查询部分行和列
SELECT id,NAME,price FROM menus;

3.有条件的查询

-- 价格小于30的所有商品
SELECT * FROM menus WHERE price<30;

4.列别名

-- 别名  列名 as 别名 as可以省略
SELECT id AS  序号,NAME AS 名称,price AS 市场价格
 FROM menus;
 SELECT id 序号,NAME 名称,price 市场价格
 FROM menus;

5.空行

 -- 空行  没有添加过数据的字段
 SELECT * FROM menus WHERE price IS NULL;
 -- 原来有数据,但数据被清除的列
 SELECT * FROM menus WHERE brief='';

Null 和 ‘ ’的区别

null是空值,表示未被赋值。
‘ ’是空字符串,表示非空,只不过值是一个非空字符串而已。

6.分页查询

在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?
LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数
LIMIT 接受一个或两个数字参数。参数必须是一个整数常量
第一个参数指定第一个返回记录行的偏移量
第二个参数指定返回记录行的最大数目
初始记录行的偏移量是 0(而不是 1)

-- 分页查询 LIMIT m,n; m开始位置 从0开始,n显示的数量
 -- 每页显示5条数据 第一页  
 SELECT*FROM menus LIMIT 0,5;
 -- 每页显示5条数据 第二页
 SELECT*FROM menus LIMIT 5,5;

7.模糊查询

通配符

一类字符,代替一个或多个真正的字符
与LIKE关键字一起使用

在这里插入图片描述

-- 查找 所有 张X
SELECT * FROM students WHERE studentname LIKE '张_';
-- 所有 X三  
SELECT * FROM students WHERE studentname LIKE '_三';
-- 找出所有 姓张的人
SELECT * FROM students WHERE studentname LIKE '张%';
BETWEEN

查询某一列中内容在特定范围内的记录

-- 查找价格在20~30之间的所有菜品
SELECT*FROM menus WHERE price>=20 AND price<=30;
SELECT*FROM menus WHERE price BETWEEN 20 AND 30;
IN

查询某一列中内容与所列出的内容列表匹配的记录

-- 姓名是 (张三,张五,李四)的信息
SELECT*FROM students WHERE studentname='张三' 
OR studentname='张五' OR studentname='李四';
SELECT*FROM students WHERE 
studentname IN('张三','张五','李四');

-- 姓名不是 (张三,张五,李四)的信息
SELECT*FROM students WHERE 
studentname NOT IN('张三','张五','李四');
排序
单列排序
-- 根据成绩升序排列 asc升序 可以省略
SELECT*FROM scores ORDER BY score ASC;
-- 根据成绩降序排列 DESC降序,不能省略
SELECT*FROM scores ORDER BY score DESC;
按多列排序
-- 根据 科目(降序)和成绩排序(降序)
SELECT*FROM scores ORDER BY subjectNo DESC,score DESC;
SELECT*FROM scores ORDER BY score DESC,subjectNo DESC;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

斑马有点困

原创不易,多谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值