1,主键是关系表中记录的唯一标识。主键的选取非常重要:主键不要带有业务含义,而应该使用BIGINT自增或者GUID类型。主键也不应该允许NULL。
2,SELECT可以用作计算,但它并不是SQL的强项。但是,不带FROM子句的SELECT语句有一个有用的用途,就是用来判断当前到数据库的连接是否有效。许多检测工具会执行一条SELECT 1;来测试数据库连接
(1)查询全部
select * from 表名 ---- * 表示查询数据库所有数据 from 表示要查询的是哪个表
--例子 us相当于user的别名 可以直接用它去查找数据库字段--
select us.sex from user us ---us==user us(别名)
(2)加条件查询 and 和 or
-- and(表示满足条件1并且满足条件2)--
select * from 表名 where 条件1 and 条件2
--例子 查询在user表中性别不等于空并且不等于空格的 <>(orcale中表示不等于) --
select us.sex from user us where us.sex is not null and us.sex <> ' '
================================================================================================
--or(表示满足条件1或者满足条件2)--
select * from 表名 where 条件1 or 条件2
--例子 查询在user表中性别不等于空或者不等于空格的 <>(orcale中表示不等于) --
select us.sex from user us where us.sex is not null or us.sex <> ' '
(3) 条件 LIKE 模糊查询 ‘%%’
select * from user us where us.name LIKE '%李%'(模糊查询带‘李’的所有数据)
select * from user us where us.name LIKE '李%'(模糊查询姓‘李’开头的数据)
select * from user us where us.name LIKE '%李'(模糊查询姓‘李’结尾的数据)
select * from user us where us.name NOT LIKE '%李'(查询不包含姓‘李’的数据)
(4)分组查询 GROUP BY
“Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理。合并数据
=原始表=
我们来简单的 group by 来分类一下(根据类别来分组)sum(聚合函数)
select tp10.category category,sum(tp10.num) num from TPRC10 tp10 group by tp10.category
---介绍上面的语句---
select tp10.category category(相当于重新命名)也可以用 as 也可以 例如 select tp10.category AS category
sum() --根据类别合并以后 数量会用sum相加 如果不想要可以直接舍弃这个字段 聚合函数之一
from TPRC10 tp10 --tp10相当于这个表的简称 上面说过了
group by tp10.category --根据类别分组 by 后面跟的是需要根据分组的字段
根据上面的语句出来的结果
如果想把单位也展示的话分组的时候只需要加上单位这个字段就可以了 ( 多列分组)
select tp10.category category,sum(tp10.num) num,tp10.company company from TPRC10 tp10 group by tp10.category,tp10.company
====结果如下==
group by和聚合函数
(4)sql 四种连接 内连接 左连接 右连接 全连接