SELECT语句
SELECT语句是最常用的SQL语句,用来从一个或多个表中检索信息。至少给出两个信息:选择什么,从哪儿选。
1、检索单个列
eg:从产品表中查询产品名称
输入:
SELECT prod_name
FROM Products;
输出:
![2c8a2ab460639be8bc2cad5546c77086.png](https://i-blog.csdnimg.cn/blog_migrate/7059f66765ebad1f5177967764c178b1.png)
2、检索多个列
在SELECT关键字后列出多个列名,列名之间用逗号隔开,最后一个列名后不加逗号
eg:从产品表中查询产品ID,产品名称,产品价格
输入:
SELECT prod_id,prod_name,prod_price
FROM products;
输出:
![2a7c202934862cdd0139f5c3592d5c30.png](https://i-blog.csdnimg.cn/blog_migrate/1119fe6fa824957f31bf7a904146d69a.png)
3、检索所有列
使用星号(*)通配符处理
eg:查询产品表中所有列
输入:
SELECT *
FROM products;
输出:
![7cdd9d828137a0abaddb3543d6ef115c.png](https://i-blog.csdnimg.cn/blog_migrate/c46c977a129270ae2a1d9d435fa552d5.jpeg)
4、去重
使用关键字DISTINCT去除查询列中重复的行。使用时将DISTINCT关键词放在列名前。DISTINCT不仅仅作用于跟在其后的列,作用于所有的列。
eg1:从产品表中查询供应商ID(不能重复)
输入:
SELECT DISTINCT vend_id
FROM products;
输出:
![42e55146cfb8056ece7a1de0a33f2170.png](https://i-blog.csdnimg.cn/blog_migrate/ee0bbdd1f442fc11bd1474d26431f3a0.png)
eg2:从产品表中查询供应商ID和产品价格(不能重复)
输入:
SELECT DISTINCT vend_id,prod_price
FROM products;
输出:(输出的两列不完全相同)
![af25244a2fd1f31235cf684ce6c333c8.png](https://i-blog.csdnimg.cn/blog_migrate/8a2bdd35415ecc82d4cf9ef77a05c650.png)
5、指定输出行
使用LIMIT子句指定输出行数,用OFFSET指定从哪行开始
eg1:从产品表中查询产品名称,限定前5行
输入:
SELECT prod_name
FROM products
LIMIT 5;
输出:
![a5e6556f45bd0fe2fe31605518048148.png](https://i-blog.csdnimg.cn/blog_migrate/7c69fc8147eb5caf2b0663d49dfeef27.png)
eg2:从产品表中查询产品名称,限定第5行之后的5行
输入:
SELECT prod_name
FROM products
LIMIT 5 OFFSET 5;
输出:(数据库默以第5行为第0行,向下检索5行,由于产品名称只有9行,所以会输出6、7、8、9行数据)
![ff248f888725c6f958d735918d58dd0c.png](https://i-blog.csdnimg.cn/blog_migrate/bb2a8725bdc84a94bfe904477693b343.png)
注:mysql支持将LIMIT 3 OFFSET 4语句简化为LIMIT 4,3
6、注释
当SQL语句变长,复杂性增加,可以添加一些描述性的注释便于自己和他人参考。
有两种注释方法,注释在客户端中以灰色显示;
①单行注释:
-- 查询某某(两个连字符+空格+注释内容)
eg:
![53182d203f2c476f7e4e004ae11afb6a.png](https://i-blog.csdnimg.cn/blog_migrate/e21e2ff079da1fbea7296af7b14c2a22.png)
②多行注释:(常用于给代码加注释)
/*
查询姓名是
某某学生的学号
*/
分享即学习,我会不定时的分享一些成长干货,包括学习方法、软件技能、优质书单/电影以及大学期间的经历。
欢迎参观我的公众号「胡健学习笔记」,和大家一起进步~