sql查询语法(图书库作为例子)

-- 1、选择表中的若干列(指定列)
-- 【q1】查询所有图书的列名、类别名称和正题名信息。
SELECT `类别名称`,`类别`,`正题名` FROM `图书`;
-- 2、选择表中的若干列(所有列)
-- [q2] 查询所有图书详细信息。
SELECT *FROM  `图书`;

-- 3、选择表中的若干列(查询经过计算的值,虚列)
-- [q3] 查询所有图书8折后的价格,(包含正题名,原价和现价)。
SELECT `正题名`,`单价` ,单价*0.8 AS '现价' FROM `图书`;
-- [q4] 查询所有图书8折后的价格,(包含正题名,原价和现价,折扣),使用列别名改变查询结果的列标题。
SELECT `正题名`,`单价` ,单价*0.8 AS '现价',单价*0.8/单价 AS '折扣' FROM `图书`;
-- [q5] 查询所有图书8折后的价格,折后价格取整。
SELECT `正题名`,ROUND(`单价`*0.8)AS '现价' FROM `图书`;


-- 4、选择表中若干列(消除取值重复的行)
-- [q6] 查询所有图书的类别及类别名称。
SELECT `类别`,`类别名称` FROM `图书` ;


-- 5、选择表中若干元组(查询满足条件的元组)
-- [q7] 查询“数据库系统概论”的基本信息。
SELECT * FROM `图书` WHERE 正题名 LIKE '数据库系统概论';
-- [q8]查询所有定价在50到100元(含50,100)之间的图书名称和价格。
SELECT `正题名`,`单价` FROM `图书`WHERE 单价>=50&&单价<=100;
-- [q9]查询所有定价在50以下或者100元以上的图书名称和价格
SELECT `正题名`,`单价` FROM `图书`WHERE 单价<50||单价>100;
-- [q10]查询 ”计算机” , ”文学”类图书的基本信息。
SELECT * FROM `图书` WHERE `索取号`='计算机' || `索取号`='文学';
-- 或者 
SELECT * FROM `图书` WHERE `索取号`='计算机'OR`索取号`='文学';
-- [q11]查询不是”计算机” , ”文学”类图书的基本信息。
SELECT * FROM `图书` WHERE `索取号`!='计算机'&&`索取号`!='文学';
-- [q12]查询”数据库系统概论” 图书的基本信息。
SELECT * FROM `图书` WHERE `正题名`='数据库系统概论';
-- [q13]查询所有书名以“数据库”开头的图书信息。
SELECT * FROM `图书`WHERE 正题名 LIKE '数据库%'
-- [q14]查询所有书名中含有“数据库” 的图书信息。
SELECT * FROM `图书` WHERE 正题名 LIKE'%数据库%';
-- [q15] 查询所有书名以“数据库”开头的且只有5个字图书信息
SELECT * FROM `图书` WHERE 正题名 LIKE '数据库__';
-- [q16] 查询书名为’数据库_原理’的图书信息。
SELECT * FROM `图书` WHERE 正题名 LIKE '数据库%原理';
-- [q17] 查询书名以“数据库_”开头,倒数第2个字符为“设”的图书信息。
SELECT *FROM 图书 WHERE 正题名 LIKE '数据库%设_'
-- [q18] 查询图书馆中责任者为null值的图书的类别、类别名称,责任者信息?
SELECT `类别`,`类别名称`,`责任者` FROM `图书` WHERE `责任者`IS NULL;
-- [q19] 查询计算机类价格在60元以下的图书书名。
SELECT * FROM `图书` WHERE `单价`<60 &&索取号='计算机';
-- 改写[q20]查询”计算机” , ”文学”类图书的基本信息。
SELECT * FROM `图书` WHERE `索取号`='文学'OR`索取号`='计算机';
-- 改写[q21]查询所有定价在50 (含50)到100元(含100)之间的图书名称和价格。
SELECT `正题名`,`单价` FROM `图书` WHERE `单价`> 50&& `单价`<100;
-- [q22] 查询所有计算机类图书的书名和价格,查询结果按价格降序排列。
SELECT `正题名`,`单价` FROM `图书` ORDER BY`单价`DESC;
-- [q23] 查询所有图书信息书名、类别和价格,查询结果按类别的降序排列, 同类别中的图书按价格降序排列。 
SELECT `正题名`,`类别`,`单价` FROM `图书`ORDER BY`类别`DESC;
-- [q24] 查询图书表中总记录数。
SELECT COUNT(*) FROM `图书`;
-- [q25]查询计算机类图书的总记录数。
SELECT COUNT(*) FROM `图书` WHERE `索取号`='计算机';
-- [q26] 计算所有计算机类图书的平均定价,和最高价
SELECT AVG(`单价`),MAX(`单价`) FROM `图书` WHERE `索取号`='计算机';
-- [q27] 计算所有图书的单价总金额。
SELECT SUM(`单价`) FROM `图书`;
-- [q28] 查询每种类型图书的总记录数。
SELECT COUNT(`类别名称` = 'A' OR NULL) , COUNT(`类别名称` = 'G' OR NULL),COUNT(`类别名称` = 'I' OR NULL),COUNT(`类别名称` = 'J' OR NULL) ,COUNT(`类别名称` = 'K' OR NULL)
FROM `图书` ;
-- 或
SELECT `类别名称`, COUNT(*)FROM `图书`  GROUP BY(`类别名称`);
-- [q29] 查询每种类型图书的总记录数,显示总记录数超过1000的图书种类及总记录数。
SELECT `类别名称`, COUNT(*)>1000 FROM `图书` 
-- [q30] 查询价格在35元以上且数量在100本以上(不含100本)的图书名称,总量数,并按照总量降序排序
SELECT `正题名`,COUNT(*)>100 AS 总数量,单价 FROM `图书` 
GROUP BY 正题名 HAVING 单价>35 AND COUNT(*)>100 ORDER BY COUNT(*) DESC; 
-- [q31]检索图书表中前 100行记录。
SELECT * FROM `图书` LIMIT 0,100 ;
-- [q32]检索 图书表中600-900行之间的数据。=>(600,900)第一个值是起始位置不包括其本身,第二个是要查数据的数量
SELECT * FROM `图书` LIMIT 600,300 ;

其实还有从指定记录数到末尾查询稍后更新(图书库的资源请到我的资源中下载)

  • 8
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值