SQL 查询

查询基本原则

基本操作

select

从哪里选,选什么?

show用法

use `student`   -- 切换数据

show databases; -- 查看数据库

show tables;    -- 查看有多少表

show columns from student;   -- 有多少列

order by

order by 可以按照多列排序,中间用 , 隔开。

SELECT
	* 
FROM
	student 
ORDER BY
	class DESC,
	grade ASC;

where 子句查询

操作符 说明
= 等于
!= 不等于
> 大于
between .. and .. 在两个值之间
is null 非空
in 范围内的条件匹配
not 起否定作用,比如 not in (1,5,8)
and 并且
or

通配符过滤

%:任意字符串出现任意的次数

_: 只匹配一个字符

使用正则表达匹配

暂时没学会。。。

语句拼接和计算字段

select concat(class,name) as fullname from student;  --对select出来的语句进行拼接

select class*grade as allsum from student;  --对两列进行相乘

汇总数据

我们有些时候,总是想要些汇总信息,而不是把他们都检索出来,因此,返回实际表中的数据,是对表和处理资源的一种浪费,更别说是带宽了

函数 说明
avg 平均
count 总行数
max 某列的最大值
min 某列的最小值
sum 某列总和

group by 分组函数

分组允许把数据分成多个分组,以便对每个分组进行聚集计算。

先创建基本表

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for webside
-- ----------------------------
DROP TABLE IF EXISTS `webside`;
CREATE TABLE `webside`  (
  `id` int(0) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `alexa` int(0) NULL DEFAULT NULL COMMENT '网络排名',
  `country` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of webside
-- ----------------------------
INSERT INTO `webside` VALUES (1, 'Google', 'https://www.google.cm/ ', 1, 'USA');
INSERT INTO `webside` VALUES (2, '淘宝', 'https://www.taobao.com/', 13, 'CN');
INSERT INTO `webside` VALUES (3, '菜鸟教程', 'http://www.runoob.com/ ', 4689, 'CN');
INSERT INTO `webside` VALUES (4, '微博', 'http://weibo.com/ ', 20, 'CN');
INSERT INTO `webside` VALUES (5, 'facebook', 'https://www.facebook.com/', 3, 'USA');

SET FOREIGN_KEY_CHECKS = 1;

建好的数据库

错误提示

  1. left join 应该和 on 相搭配使用。而不是 where
posted @ 2021-07-28 03:09  沧海一声笑rush  阅读(57)  评论(0编辑  收藏  举报