单表查询
简单查询
查询所有字段
注意:业务代码中一般不会这样使用,会写上所有的列名进行查询
1 | SELECT * FROM <table_name>; |
查询指定的字段
1 | SELECT <column1_name>,<columns_name>,... FROM <table_name>; |
查询带有表别名
注意:1.别名中如果有特殊符号或空格,需要用引号引起来;2.AS 可省略
1 | SELECT * FROM <table_name> [AS] <alias_name>; |
查询带有列别名
注意:AS 可省略
1 | SELECT <column_name1> [AS] <alias_name1>, <column_name2> [AS] <alias_name2> ... FROM <table_name>; |
查询去掉重复值
注意:如果有多个字段,需要同时重复
1 | SELECT DISTINCT <column_name1>,<column_name2>, ... FROM <table_name>; |
运算查询
1 | SELECT (<column1_name> + <column2_name>) FROM <table_name>; |
条件查询
比较运算符
1 | 大于 > |
逻辑运算符
1 | between…and… : 显示在某一区间的值(含头含尾) |
排序查询
注意:1.不写的话默认为升序 ASC;2.被排序的字段如果有多个,先按照第一个排序,再按照后边的依次排序;3.写在 sql 语句末尾
1 | SELECT * FROM <table_name> ORDER BY <column1_name> ASC(升序)/DESC(降序); |
聚合函数
注意:select 之后 , from 之前
1 | sum(求和) : 指定列不是数值类型,计算结果为 0; |
分组查询
注意:被分组的字段,一般都写在 select 后作为查询条件 , 方便查看
1 | group by 被分组的字段 [having 条件] |
分页查询
注意:数据库中行的索引是从0开始,列的索引是从1开始
1 | 使用关键字 LIMIT |
多表关系
一对多关系
从表使用主表的主键作为主键(外键)
注意:1.主表中有的数据 , 从表中可以没有;2.主表必须有数据, 才能向从表中添加数据;3.删除主表的数据 , 要先删除从表之后 , 才能删除主表