1、单表查询语法
- 单表查询-SELECT
查询单表所有记录,显示所有字段值:SELECT * FROM 表名;
查询单表所有记录,显示指定字段值:SELECT 字段1,字段2,...FROM 表名;
条件查询:SELECT * FROM 表名 WHERE 条件1 OR|AND 条件2...;
直接查询:SELECT 1; ---(常量)SELECT 1+2;----(计算器)
调用函数:SELECT VERSION(); ---(版本)SELECT NOW();----(当前时间)
查询表达式:
- 语法:SELECT select_exp1,select_exp2...
- 每个select_exp1表示要显示的一列,至少一个表达式
- 多个表达式用逗号分隔
- 使用星号(*)可以表示所有列
- 使用表名.字段表示该表的指定字段,表名.*表示该表所有字段
- 使用AS或者空格可以为查询表达式设置别名,别名可用于GROUP BY、ORDER BY或HAVING子句
2、多表查询语法
多表查询
SELECT 字段1,字段2... FROM 表1,表2...
SELECT 字段1,字段2...FROM 表1,表2 WHERE 关联条件 AND|OR 过滤条件...
笛卡尔积概念和原理
- 概念
设A,B为集合,用A中元素为第一元素,B中元素为第二元素构成有序对,所有这样的有序对组成的集合叫做A与B的笛卡尔积
- 步骤
确定需要用到的表;
将多个表通过笛卡尔积变成一个表;
去除不符合逻辑的数据(根据两个表的关系);
在虚拟表上添加条件进行记录过滤
3、别名的概念与使用
别名
- 别名,可以理解为另外的名称
- 通过别名,可以提高查询的可读性
- MySQL的别名分为列别名和表别名
- 可以使用ORDER BY,GROUP BY和HAVING子句中的列别名来引用该列
列别名
- 场景
列的名称是表达式,查询时输出难以理解,通过别名语法给这样的列一个描述性的名称
列名太长,设置一个简单的别名
- 语法
SELECT [column_1 | expression] AS desc_name FROM table_name;
给列添加别名,使用AS关键字,后面再跟别名,如果别名有空格,则使用‘’进行引用,如AS ‘desc name’
表别名
- 可以使用别名为表添加不同的名称
table_name AS table_alias
其中AS关键字是可选的
一般在连接查询或者子查询中使用别名
- 使用别名
使用别名可以让查询语句蒋健、可读性高