sql 语句(精品)
GROUP BY:
select avg(latency),projectName,data_trunc('hour'm\,_time_) as hour group by projectName,hour.
特殊条件:
1、空值判断:is null
Select * from table_Name where comm is null;
2、between and(范围之间的值)
Select * from table_Name where sal between 100 and 300;
3、In(类似C++中的枚举)
Select * from table_Name where sql in (100,200,300)
4\like
Like模糊查询
Select * from table_Name sal like "%M";
%表示多个字值,_下划线表示一个字符。
二、不带比较运算符的where子句。
SELECT studentNO FROM student WHERE 0;
则回返回一个空集,因为每一行记录WHERE都返回false。
SELECT studentNO FROM student WHERE 1;
返回student表所有行中studenNO列的值。因为每一行记录WHERE 都返回true。
1)AND & OR
AND & OR运算符用于基于一个以上的条件
2)ORDER BY(默认是ASC)
ORDER BY 关键字用于对结果进行排序。
1、用于对结果集按照一个列或多个列进行排序。
SELECT * FROM Websites ORDER BY country,alexa;(按照country再按照alexa来排序)。
2、默认按照升序对记录进行排序,如果需要按照降序对记录进行排序,那要使用DESC关键字。
ORDER BY 多列的时候,先按照第一个column name排序,再按照第二个column name排序。
order by A,B;//默认按升序排。
order by A desc,B;//这时候A降序,B升序排列。
order by A , desc B;//这时候A升序,B降序。
3)INSERT INTO 语句用于向表中插入新记录。
有两种编写形式。
第一种形式无需指定要插入数据的列名,只需提供被插入的值即可。(没有指定要插入的列名的形式需要列出插入行的每一行数据).
INSERT INTO TABLE VALUE(value1,value2,value3);
第二种形式需要指定列名以及被插入的值。
INSERT INTO TABLE (column1,column2,column3,...) VALUES (value1,value2,value3);
insert into select 和 select into from
insert into TABLE_A select * from TABLE_B where neza='neza' --插入一行,要求表TABLE_A 必须存在。
select * into scorebak from where neza = 'neza'; --也是插入一行,要求scorebak不存在。
4)UPDATE语句
UPDATE table_name SET column1 = value1,column2 = value2,... WHERE some_column = some_value;
执行没有where子句的update要慎重。(在MySql中可以通过设置sql_safe_updates 这个自带的参数来解决,当该参数开启的情况下,你必须在update语句后携带条件where,否则就会报错)。