标签:关系 rod 子查询 必知必会 相关子查询 sele 依次 检索 包含
主键任意两行不可重复且不能为空。
主键可以定义在表的一列也可以一起使用多个列作为联合主键
推荐对所有SQL关键字用大写,对所有的列和表名用小写
DISTINCT关键字只返回指定列不同的行,但DISTINCT运用于所有列而不仅是前置他的列
LIMIT 5,5 指示Mysql返回从第5行开始的5行
ORDER BY中使用的列不一定是SELECT正在检索的列
如果有ORDER BY后面有多个列,按照ORDER BY后面指定的列的顺序依次排序,如果前面列的值相同,再按后面的列的顺序排列。
排序默认是升序的
ORDER BY prod_price DESC。降序排列。
DESC只作用于它前面的一个列。
ORDER BY prod_price (DESC) LIMIT 1
可以找出表中的最值
WHERE prod_price BETWEEN 5 AND 10;
查询5 <= prod_price <= 10的列
WHERE (vend_id = 1002 OR vend_id = 1003) AND prod_price >= 10
WHERE vend_id IN (1002, 1003) AND prod_price >= 10
WHERE vend_id NOT IN (1002, 1003) AND prod_price >= 10
WHERE prod_name LIKE ‘%jet‘ 表示查询prod_name中以jet为结尾的行
WHERE prod_name LIKE ‘%jet%‘ 表示查询prod_name中任意位置包含jet的行。
WHERE prod_name LIKE ‘_ jet‘ _匹配单个字符。%匹配任意数量的字符。
表和字段都可以取别名
SELECT * FROM 表名 [AS] 别名;
SELECT 字段名 [AS] 别名 [,字段名 [AS] 别名,……] FROM 表名;
注意,为表和字段指定别名,AS关键字可以省略不写
AVG():返回某列平均值
COUNT():返回某列的行数
MAX():返回某列的最大值
MIN():返回某列的最小值
SUM():返回某列之和
除聚集函数外,SELECT中的每个列都必须在GROUP BY子句中给出。
WHERE的语法适用于HAVING,WHERE过滤行,HAVING过滤分组。
WHERE子句中可以使用子查询,有一点需要注意:列必须匹配
SELECT的一个字段也可以使用子查询,注意完全限定的列名的使用(表明.列名)
没有WHERE子句(联结条件)限定的结果返回的是两个表的笛卡尔积,检索出的行数是第一个表的行数*第二个表的行数。
以下两个语句是等价的,后者使用了INNER JOIN,也是推荐使用的语法
联结中包含了那些在相关表中没有关联的行,成为外连接
必须指定使用左连接还是右连接。
union :用于合并多个 select 语句的结果集,并去掉重复的值。 union all :作用和 union 类似,但不会去掉重复的值。
除插入自定义的数据外,还可插入SELECT语句的查询结果,INSERT INTO 后面的列名可以和SELECT后的列名不同,根据位置匹配插入
《mysql必知必会》
标签:关系 rod 子查询 必知必会 相关子查询 sele 依次 检索 包含
原文地址:https://www.cnblogs.com/kukri/p/10009035.html