本系列为自己学习时的笔记及心得体会,转载请注明出处。
原表:
1、select语句
从一个或多个表中检索信息。
2、从表中检索单个列。
SELECT prod_name
FROM `products`
3、从表中检索多个列。
SELECT prod_id,prod_name,prod_price
FROM `products`
4、表中检索所有列。
使用通配符*。一般而言,出发确实需要表中每一列,否则最好别使用*通配符,这样通常会降低检索和应用程序性能。
SELECT *
FROM `products`
5、检索不同的值
检索products表中所有产品的供应商ID,结果如下:
只有三个产品供应商,但select语句返回9行。那如何检索出不同的值呢。这里使用的是 DISTINCT 关键字,它指示数据库只返回不同的值。
SELECT DISTINCT vend_id
FROM Products;
返回结果如下。该语句告诉DBMS只返回不同的(具有唯一性)的vend_id行。
使用DISTINCT关键字,它必须直接放在列名前面。
注意:DISTINCT关键字作用于所有列,不仅仅是跟在气候的那一列。如下图语句中,会把不同的vend_id和prod_price都检索出来。
6、限制结果
如果想只返回一定数量的结果该怎么办呢?在各种数据库中语句是不一样的。在SQL Server和Access中可使用 TOP关键字。
SELECT TOP 5 prod_name
FROM Products
如果使用的Oracle,需用ROWNUM:
SELECT prod_name
FROM Products
WHERE ROWNUM <=5
如果使用Mysql,MariaDB,postgreSQL或SQLite,需要用LIMIT子句:
SELECT prod_name
FROM Products
LIMIT 5
如果是要置顶从第5行起的5行数据,需要如下语句:
SELECT prod_name
FROM Products
LIMIT 5 OFFSET 5
因为总共只有9行数据,所以从第5行开始后面只有4条数据。
注意:①第一个被检索的行是第0行,而不是第1行。
②LIMIT 5 OFFSET 5可简化为LIMIT 5, 5。
7、使用注释
①行内注释:在行后用“--”
②行内注释2:在一行的开始处用“#”标识
③多行注释:"/*... */",...内容均被注释
PS:将日期 年月日时分秒格式变为年月日格式:DATE_FORMAT(release_time,'%Y%m%d')
网友评论