美文网首页
【SQL】(二):检索数据

【SQL】(二):检索数据

作者: Lottie2017 | 来源:发表于2020-07-09 16:32 被阅读0次

    本系列为自己学习时的笔记及心得体会,转载请注明出处。

    原表:

    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')

    相关文章

      网友评论

          本文标题:【SQL】(二):检索数据

          本文链接:https://www.haomeiwen.com/subject/gnpjcktx.html