一、条件查询
条件查询是指在数据库查询中,通过设定特定的条件表达式来筛选出符合这些条件的数据记录。在这种查询中,用户根据实际需求定义各种条件,如等于、大于、小于、包含等关系条件,以精确地获取所需的特定数据子集。它可以基于表中的一个或多个字段进行条件设定,从而实现有针对性地从大量数据中提取出符合特定要求的数据行。
1.比较条件的使用
用于相等比较 | = |
表示大小比较 | > |
表示小于比较 | < |
表示大于等于比较 | >= |
表示小于等于比较 | <= |
表示不等于比较 | <>、!= |
语法:SELECT [DISTINCT] *|{字段名1, 字段名2, 字段名3,……}
FROM 表名
[WHERE 条件表达式1]
【例1】在TBL_Bookinfo 表中查询所有“清华大学出版社”出版的书
select * from TBL_Bookinfo where Publisher = '清华大学出版社';
【例2】在TBL_Bookinfo 表查询95年及95年以后出版的书
select * from TBL_Bookinfo where PublishDate>='1985-1-1';
2.比较条件的组合使用
运算符 | 描述 |
AND | 逻辑与,操作数全部为真,则结果为1,否则为0 |
OR | 逻辑或,操作数中只要有一个为真,则结果为1,否则为0 |
NOT | 逻辑非,操作数为0,则结果为1,操作数为1,则结果为0 |
【例3】查询不是“清华大学出版社”出版的书。
select * from TBL_Bookinfo where not Publisher='清华大学出版社';
select * from TBL_Bookinfo where Publisher !='清华大学出版社';
【例4】查询所有“清华大学出版社”或“电子工业出版社”出版的书
select * from TBL_Bookinfo where Publisher='清华大学出版社' or Publisher='电子工业出版社';
【例5】在TBL_Bookinfo 表查询页数在200至400之间、同时出版社为“清华大学出版社”的书。
select * from TBL_Bookinfo where PageCount >=200 and PageCount<=400 and Publisher='清华大学出版社';
3.BETWEEN 关键字
BETWEEN ... AND ...(在指定的闭区间范围内)
NOTBETWEEN ... AND ...(不在指定的闭区间范围内)
一股用于数值和日期型数据
注意: between .… and …是包含边界的
【例6】从TBL_Bookinfo表中检索1990年出版的图书信息。
select * from TBL_Bookinfo where PublishDate>='1990-01-01' and PublishDate<='1990-12-31';
-- BETWEEN...AND...
select * from TBL_Bookinfo where PublishDate between '1990-01-01' and '1990-12-31';
-- not BETWEEN... AND
select * from TBL_Bookinfo where PublishDate not between '1990-01-01' and '1990-12-31';
4.IN ()关键字
INO | 在给定的集合内 |
NOT INO | 不在给定的集合内 |
【例7】从TBL_Bookinfo表中检索出索取号为'TB11/46', 'TG/71','TG38-62/12'的图书信息
select * from TBL_Bookinfo where BookID='TB11/46' or BookID='TG/71' or BookID='TG38-62/12';
-- in
select * from TBL_Bookinfo where BookID in ('TB11/46', 'TG/71','TG38-62/12');
--not in
select * from TBL_Bookinfo where BookID not in ('TB11/46', 'TG/71','TG38-62/12');
二、基础查询
基础查询通常是指在数据库操作中最基本、最常见的查询操作。
它主要是通过特定的查询语句(如 SQL 中的 SELECT 语句),根据设定的条件从一个或多个数据表中检索出符合要求的数据,包括指定要获取的列、设定筛选条件、进行数据排序等基本操作。基础查询是进行数据检索和分析的基础手段,为进一步的数据处理和应用提供基础数据支持。
1.SELECT 完整语句格式
MySQL 从数据表中查询数据的基本语句是 SELECT 语句
语法如下:
(主语句)
SELECT [ DISTINCT ]*|{字段名1,字段名2,字段名3,……}
FROM 表名
(子语句)
[ WHERE 条件表达式1]
[ GROUP BY 字段名[ HAVING 条件表达式2]][ ORDER BY 字段名[ ASC | DESC ]]
[ LIMIT [ OFFSET ,]记录数];
2.最基本的SQL查询语句
语法: SELECT *|{字段名1,字段名2,字段名3,……} FROM 表名
特点: SQL 语言是一种非过程化的结构查询语言,简洁
查询指定表中的所有记录的所有列
【例1】从 TBL _ Bookinfo 表查询所有图书的记录内容
select * from TBL _ Bookinfo ;
查询指定的列:将指定的列放在选择列表中
【例2】查询 TBL _ Bookinfo 表中所有图书的 BookID , ISBN , BookName
select BookID , ISBN , BookName from TBL Bookinfo ;
3.改变列标题的显示
语法:字段名 AS 标题名或字段名标题名
【例3】查询 TBL _ Bookinfo 表中所有图书的 BookI , ISBN , BookName
方法一:
select BookID as 索取号, ISBN as 标准编号, BookName as 书名 from TBL _ Bookinfo ;
方法二:
select BookID 索取号, ISBN 标准编号, BookName 书名 from TBL _ Bookinfo ;
注:在 DOS 会话窗口使用中文别名,须先执行改变字符集命令
练习:
1.查询TBL_Bookinfo 表中所有图书信息。
select * from tbl_bookinfo;
2.查询TBL_User表中所有读者信息。
select * from tbl_user;
3.查询TBL_Bookinfo表中所有图书的索取号BookID,标准编号isbn,书名BookName。
select BookID ,ISBN,BookName from TBL_Bookinfo;
4.查询TBL_User表中读者编号、姓名及班级。
select UserID,UserName,Class from TBL_User;
5.查询TBL_Bookinfo 表中所有图书的索取号,标准编号,书名,并用中文显示列名。
select BookID as 索引号,ISBN as 标准编号,BookName as 书名 from TBL_Bookinfo;