1、sql里面不允许双引号,因为习惯性写js,单双引号乱用,结果在写insert语句的时候后面的字段都是用双引号引起来的,然后就报错了,所以用单引号是对的。
2、insert into test(grade) values(90) where id='1';往id='1'的数据里插入grade=90这一个字段,看起来没毛病吧,但是报错了,原来insert语句里面不允许使用where,按我的这种意思其实应该是用update test set grade=90 where id='1';也就是把id='1'的这条数据更新了,而不是插入。
3、表里面的字段是大小写区分的。
4、as是为列名称或者表名称指定别名。
5、left join 关键字会从左表那里返回所有的行,即使在右表中没有匹配的行。right join相反。full join是left join和right join的结合。
inner join 是返回匹配到的行,就是只返回两个表中相同的行。
6、union操作符用于合并两个或多个select语句的结果集。union内部的select语句必须拥有相同数量的列。列也必须拥有相似的数据类型。
select中的列的顺序必须相同。
注意:union中不允许重复,如果允许重复则用union all。
7、sql语句注释:(1)--:表示单行注释(2)/*…*/:用于多行(块)注释。
8、在sql中用having是因为where关键字和合计函数无法一起使用。
9、row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)