常用的SQL语句
来源:互联网 发布:淘宝开店怎么做代销 编辑:程序博客网 时间:2024/05/29 14:06
本文主要介绍常用的SQL语句,数据库是MySQL,Oracle可能会略有不同,请自行学习。
一、SQL关键字
对于英语能力不是太好的人来说,学习SQL语句第一步就是关键字不要写错,以下是根据自己列出相关的关键字:
primary key 主键
auto_increment 自增
engin 引擎
order by 排序
group by 分组
asc 升序
desc 降序
RegExp 正则表达式标识符
index 索引
view 视图
timestamp 时间戳
between 两个值之间
alter 修改
distinct 不重复
二、常用的SQL语句
表一:
1. 正则表达式
-- REGEXP 是正则表达式的标识符,^c 表示查找出以c字母开头的user
SELECT sys_user_id, user_name FROM sys_user WHERE user_name REGEXP '^c';
-- REGEXP 是正则表达式的标识符,7$ 表示查找出以数字7结尾的user
SELECT sys_user_id, user_name FROM sys_user WHERE user_name REGEXP '7$';
2. 排序 order by
order by 是排序语句,asc表示升序,desc表示降序
语法:order by field asc/desc //放在where语句后面
SELECT sys_user_id, user_name FROM sys_user WHERE user_name REGEXP '7$' ORDER BY sys_user_id DESC;
3. 分组 group by
若既有group by 和order by,一般都是先分组后再根据分组中的字段再排序。
SELECT user_name, COUNT(*) FROM sys_user GROUP BY user_name ORDER BY sys_user_id DESC;
4. having (与group by搭配)
having语句相当于是group by的where语句,表示在什么限制条件下进行分组
SELECT user_name, COUNT(*), SUM(age) AS totalAge FROM sys_user GROUP BY user_nameHAVING totalAge>5 ORDER BY sys_user_id DESC;
5. join连接的使用
在两个或多个表中查询数据,join连接中条件限制的关键字是on
表一:runoob_tbl
表二:tcount_tbl
(1)内连接:交集
SELECT a.`runoob_id`, a.runoob_title, a.runoob_author, b.`runoob_count` FROM `runoob_tbl` aINNER JOIN `tcount_tbl` bON a.`runoob_author`=b.`runoob_author`;
(2)左连接
左连接有两种情况,一种是查询出左表的全部数据,另外一种是查询出在左表但不在右表的数据。
-- 查询出左边的所有数据
SELECT a.`runoob_id`, a.runoob_title, a.runoob_author, b.`runoob_count` FROM `runoob_tbl` aLEFT JOIN `tcount_tbl` bON a.`runoob_author`=b.`runoob_author`;
-- 查询出在左边但不在右边的数据
SELECT a.`runoob_id`, a.runoob_title, a.runoob_author, b.`runoob_count` FROM `runoob_tbl` a LEFT JOIN `tcount_tbl` b ON a.`runoob_author`=b.`runoob_author`WHERE b.`runoob_author` IS NULL;
(3)右连接
右连接与左连接一样,也有两种情况,一种是查询出右表的全部数据,另外一种是查询出在右表但不在左表的数据。
-- 查询出右边的所有数据
SELECT b.runoob_author, b.`runoob_count` FROM `runoob_tbl` a RIGHT JOIN `tcount_tbl` b ON a.`runoob_author`=b.`runoob_author`;
-- 查询出在右边但不在左边的数据
SELECT b.runoob_author, b.`runoob_count` FROM `runoob_tbl` a RIGHT JOIN `tcount_tbl` b ON a.`runoob_author`=b.`runoob_author`WHERE a.`runoob_author` IS NULL;
(4) 完全连接
MySQL不支持full join,所以得另辟蹊径。
- 常用的SQL语句
- 常用的SQL语句
- 常用的SQL语句
- 常用的SQL语句
- 常用的SQL语句
- SQL语句常用的
- 常用的sql语句
- 常用的SQL语句
- 常用的SQL语句
- SQL的常用语句
- 常用的SQL语句..
- 常用的sql语句
- sql 常用的语句
- sql的常用语句
- sql常用的语句
- 常用的SQL语句
- 常用的SQL语句
- 常用的sql语句
- Altium Designer如何画虚线
- mysql5.7 linux下64位安装
- java中volatile关键字的含义
- 前端开发不得不知道的十大ES6新特性
- RecyclerView功能集封装
- 常用的SQL语句
- Brute Force匹配(暴力匹配)和FLANN匹配区别
- Linux书籍
- 133
- Linux常见函数的区别
- Machine Learning in Action | ApacheCN(apache中文网)
- Groovy学习
- ManualResetEvent详解
- TIME_WAIT