千家信息网

MySQL中怎么实现单表查询操作

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章将为大家详细讲解有关MySQL中怎么实现单表查询操作,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。创建fruits表:CREATE TABLE
千家信息网最后更新 2026年10月31日MySQL中怎么实现单表查询操作

这篇文章将为大家详细讲解有关MySQL中怎么实现单表查询操作,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

创建fruits表:

CREATE TABLE fruits( f_id  char(10)   NOT NULL, s_id  INT NOT NULL, f_name char(255)   NOT NULL, f_price decimal(8,2) NOT NULL, PRIMARY KEY(f_id)) ;INSERT INTO fruits (f_id, s_id, f_name, f_price)VALUES('a1', 101,'apple',5.2),('b1',101,'blackberry', 10.2),('bs1',102,'orange', 11.2),('bs2',105,'melon',8.2),('t1',102,'banana', 10.3),('t2',102,'grape', 5.3),('o2',103,'coconut', 9.2),('c0',101,'cherry', 3.2),('a2',103, 'apricot',2.2),('l2',104,'lemon', 6.4),('b2',104,'berry', 7.6),('m1',106,'mango', 15.6),('m2',105,'xbabay', 2.6),('t4',107,'xbababa', 3.6),('m3',105,'xxtt', 11.6),('b5',107,'xxxx', 3.6);

常用查询:

SELECT * FROM fruits;select f_name,f_price from fruits;select f_name,f_price from fruits where f_price=10.2;select f_name,f_price from fruits where f_price<10;select * from fruits where s_id in (101,102) order by f_name;select * from fruits where s_id not in (101,102) order by f_name;select f_name,f_price from fruits where f_price between 2.00 and 10.20;select f_name,f_price from fruits where f_price not between 2.00 and 10.20;select f_name,f_price from fruits where f_name like "b%";select f_name,f_price from fruits where f_name like "%g%";select f_name,f_price from fruits where f_name like "b%y";select f_name,f_price from fruits where f_name like "____y";

创建customers表:

CREATE TABLE customers( c_id   int    NOT NULL AUTO_INCREMENT, c_name  char(50) NOT NULL, c_address char(50) NULL, c_city  char(50) NULL, c_zip   char(10) NULL, c_contact char(50) NULL, c_email  char(255) NULL, PRIMARY KEY (c_id));INSERT INTO customers(c_id, c_name, c_address, c_city, c_zip, c_contact, c_email)VALUES(10001, 'RedHook', '200 Street ', 'Tianjin', '300000', 'LiMing', 'LMing@163.com'),(10002, 'Stars', '333 Fromage Lane', 'Dalian', '116000', 'Zhangbo','Jerry@hotmail.com'),(10003, 'Netbhood', '1 Sunny Place', 'Qingdao', '266000', 'LuoCong', NULL),(10004, 'JOTO', '829 Riverside Drive', 'Haikou', '570000', 'YangShan', 'sam@hotmail.com');

常用查询语句:

select c_id,c_name,c_email from customers where c_email is null;select c_id,c_name,c_email from customers where c_email is not null;select f_name,f_price from fruits where s_id=101 and f_price>=5;select f_name,f_price from fruits where s_id in (101,102) and f_price >=5 and f_name="apple";select f_name,f_price from fruits where s_id=101 or s_id=102;

使用in操作更加简洁明了

select f_name,f_pricefrom fruitswhere s_id in (101 ,102);

字段不重复

SELECT DISTINCT s_id FROM fruits;select f_name from fruits ORDER BY f_name;

如果第一列数据中没有相同值,将不再对第二列进行排序。

SELECT f_name, f_priceFROM fruitsORDER BY f_name, f_price;

按价格降序排列,desc为降序,默认为升序。

SELECT f_name, f_price FROM fruits ORDER BY f_price desc;SELECT f_name, f_price FROM fruits ORDER BY f_price desc,f_name;SELECT s_id, COUNT(*) AS Total FROM fruits GROUP BY s_id;SELECT s_id, GROUP_CONCAT(f_name) AS Names FROM fruits GROUP BY s_id;

使用having过滤分组

SELECT s_id, GROUP_CONCAT(f_name) AS NamesFROM fruitsGROUP BY s_id having count(f_name)>1;

在group by 子句中使用with rollup

SELECT s_id, COUNT(*) AS Total FROM fruits GROUP BY s_id WITH ROLLUP;SELECT * from fruits group by s_id,f_name;

创建orderitems表:

CREATE TABLE orderitems( o_num   int     NOT NULL, o_item   int     NOT NULL, f_id    char(10)   NOT NULL, quantity  int     NOT NULL, item_price decimal(8,2) NOT NULL, PRIMARY KEY (o_num,o_item)) ;INSERT INTO orderitems(o_num, o_item, f_id, quantity, item_price)VALUES(30001, 1, 'a1', 10, 5.2),(30001, 2, 'b2', 3, 7.6),(30001, 3, 'bs1', 5, 11.2),(30001, 4, 'bs2', 15, 9.2),(30002, 1, 'b3', 2, 20.0),(30003, 1, 'c0', 100, 10),(30004, 1, 'o2', 50, 2.50),(30005, 1, 'c0', 5, 10),(30005, 2, 'b1', 10, 8.99),(30005, 3, 'a2', 10, 2.2),(30005, 4, 'm1', 5, 14.99);

常用查询语句:

SELECT o_num, SUM(quantity * item_price) AS orderTotalFROM orderitemsGROUP BY o_numHAVING SUM(quantity*item_price) >= 100;SELECT o_num, SUM(quantity * item_price) AS orderTotalFROM orderitemsGROUP BY o_numHAVING SUM(quantity*item_price) >= 100order by ordertotal;SELECT * From fruits LIMIT 8;

从第五行开始,读取3行

SELECT * From fruits LIMIT 4,3;

【例.1】从fruits表中检索所有字段的数据

SELECT * FROM fruits;SELECT f_id, s_id ,f_name, f_price FROM fruits;

【例.2】查询当前表中f_name列所有水果名称,输入如下语句:

SELECT f_name FROM fruits;

【例.3】例如,从fruits表中获取f_name和f_price两列,输入如下语句:

SELECT f_name, f_price FROM fruits;

【例.4】查询价格为10.2元的水果的名称,输入如下语句:

SELECT f_name, f_priceFROM fruitsWHERE f_price = 10.2;

【例.5】查找名称为"apple"的水果的价格,输入如下语句:

SELECT f_name, f_priceFROM fruitsWHERE f_name = 'apple';

【例.6】查询价格小于10的水果的名称,输入如下语句:

SELECT f_name, f_priceFROM fruitsWHERE f_price < 10;

【例.7】s_id为101和102的记录,输入如下语句:

SELECT s_id,f_name, f_priceFROM fruitsWHERE s_id IN (101,102)ORDER BY f_name;

【例.8】查询所有s_id不等于101也不等于102的记录,输入如下语句:

SELECT s_id,f_name, f_priceFROM fruitsWHERE s_id NOT IN (101,102)ORDER BY f_name;

【例.9】查询价格在2.00元到10.5元之间水果名称和价格

SELECT f_name, f_priceFROM fruitsWHERE f_price BETWEEN 2.00 AND 10.20;

【例.10】查询价格在2.00元到10.5元之外的水果名称和价格

SELECT f_name, f_priceFROM fruitsWHERE f_price NOT BETWEEN 2.00 AND 10.20;

【例.11】查找所有以'b'字母开头的水果,输入如下语句:

SELECT f_id, f_nameFROM fruitsWHERE f_name LIKE 'b%';

【例.12】在fruits表中,查询f_name中包含字母'g'的记录

SELECT f_id, f_nameFROM fruitsWHERE f_name LIKE '%g%';

【例.13】查询以'b'开头,并以'y'结尾的水果的名称

SELECT f_nameFROM fruitsWHERE f_name LIKE 'b%y';

【例7.14】在fruits表中,查询以字母'y'结尾,且'y'前面只有4个字母的记录

SELECT f_id, f_nameFROM fruitsWHERE f_name LIKE '____y';

【例.15】查询customers表中c_email为空的记录的c_id、c_name和c_email字段值:

SELECT c_id, c_name,c_emailFROM customersWHERE c_email IS NULL;

【例.16】查询customers表中c_email不为空的记录的c_id、c_name和c_email字段值

SELECT c_id, c_name,c_emailFROM customersWHERE c_email IS NOT NULL;

【例.17】在fruits表中查询s_id = '101',并且f_price大于5的记录价格和名称

SELECT f_id, f_price, f_nameFROM fruitsWHERE s_id = '101' AND f_price >=5;

【例.18】在fruits表中查询s_id = '101'或者'102',并且f_price大于5,并且f_name='apple'的记录价格和名称

SELECT f_id, f_price, f_nameFROM fruitsWHERE s_id IN('101', '102') AND f_price >= 5 AND f_name = 'apple';

【例.19】查询s_id=101或者s_id=102的水果供应商的f_price和f_name,SQL语句如下:

SELECT s_id,f_name, f_priceFROM fruitsWHERE s_id = 101 OR s_id = 102;

【例.20】查询s_id=101或者s_id=102的水果供应商的f_price和f_name

SELECT s_id,f_name, f_priceFROM fruitsWHERE s_id IN(101,102);

【例.21】查询fruits表中s_id字段的值,并返回s_id字段值不得重复

SELECT DISTINCT s_id FROM fruits;

【例.22】查询fruits表的f_name字段值,并对其进行排序

select f_name from fruits ORDER BY f_name;

【例.23】查询fruits表中的f_name和f_price字段,先按f_name排序,再按f_price排序

SELECT f_name, f_priceFROM fruitsORDER BY f_name, f_price;

【例.24】查询fruits表中的f_name和f_price字段,对结果按f_price降序方式排序

SELECT f_name, f_priceFROM fruitsORDER BY f_price DESC;

【例.25】查询fruits表,先按f_price降序排序,再按f_name字段升序排序,SQL语句如下:

SELECT f_price, f_nameFROM fruitsORDER BY f_price DESC, f_name;

【例.26】根据s_id对fruits表中的数据进行分组

SELECT s_id, COUNT(*) AS TotalFROM fruitsGROUP BY s_id;

【例.27】根据s_id对fruits表中的数据进行分组,将每个供应商的水果名称显示出来

SELECT s_id, GROUP_CONCAT(f_name) AS NamesFROM fruitsGROUP BY s_id;

【例.28】根据s_id对fruits表中的数据进行分组,并显示水果种类大于1的分组信息

SELECT s_id, GROUP_CONCAT(f_name) AS NamesFROM fruitsGROUP BY s_id HAVING COUNT(f_name) > 1;

【例.29】根据s_id对fruits表中的数据进行分组,并显示记录数量

SELECT s_id, COUNT(*) AS TotalFROM fruitsGROUP BY s_id WITH ROLLUP;

【例.30】根据s_id和f_name字段对fruits表中的数据进行分组, SQL语句如下,

SELECT * from fruits group by s_id,f_name;

【例.31】查询订单价格大于100的订单号和总订单价格

SELECT o_num, SUM(quantity * item_price) AS orderTotalFROM orderitemsGROUP BY o_numHAVING SUM(quantity*item_price) >= 100;

【例.32】显示fruits表查询结果的前4行,输入如下语句:

SELECT * From fruits LIMIT 4;

【例.33】在fruits 表中,使用LIMIT子句,返回从第5个记录开始的,行数长度为3的记录

SELECT * From fruits LIMIT 4, 3;

关于MySQL中怎么实现单表查询操作就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

查询 语句 价格 水果 字段 名称 输入 数据 分组 排序 字母 供应商 常用 常用查询 订单 供应 元到 内容 升序 子句 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网项目 新华互联网科技学院 朗新科技与工业互联网 互联网最新的科技有限公司 顺玮阁互联网科技 撒么互联网科技公司 阿里巴巴算科技企业还是互联网 顶级互联网科技成果有哪些 上海宁丞科技互联网 重庆互联网医院沙龙医盟信息科技 互联网与医疗科技 乌苏新华互联网科技做什么的 用友工业互联网科技发展 山东星卡互联网科技有限公司官网 互联网与数字科技关系 福州德业互联网科技 互联网科技收购价值 恒生科技指数 中概互联网 互联网企业和网络科技有限公司 株洲百竞科技的互联网营销顾问 互联网科技有限公司经营范围 深圳互联网科技公司 西安互联网科技公司 丰台科技园 互联网公司 链环科技传统企业怎么转型互联网 广州新华互联网科技学校电竞方面 济南有互联网科技公司吗 互联网公司高科技产品 城市宝互联网科技有限公司 求路客互联网科技电话
0