SQL基础教程学习(三)SELECT基础查询
来源:互联网 发布:苏州聚合数据招聘 编辑:程序博客网 时间:2024/06/05 22:53
版本声明:本文为作者原创文章,转载请注明出处! http://blog.csdn.net/AndroidXiXi
本文根据《SQL基础教程第二版》(作者:[日本]MICK)的部分内容实践、整理得出,旨在对所学知识进行梳理
全面系统学习请参考原著书籍http://product.dangdang.com/25094702.html
数据库将数据进行保存之后,可以通过查询语句对数据进行查询。现实中的数据库中的表有时比较复杂,但是SQL语句可以在查询的时候附加指定的条件进行筛选、排序,从海量的数据中查出其中关注的数据,很方便
列的查询
可以通过SELECT语句选取出表中的数据,通过SELECT语句查询并选出必要数据的过程称为匹配查询或查询(query)
-- 查询语句语法 SELECT <列名>,... FROM <表名>; -- 从Product中查询product_name和purchase_price -- 可以查询多列,通过逗号分割 -- 查询结果的顺序和SELECT子句中指定列的顺序相同 SELECT product_name,purchase_price From Product;
通过MySQL光标拖动,选中上面的代码,点击执行,结果:
子句:SQL语句的组成要素,是以SELECT,FROM等作为起始的短语
如上,最简单的SELECT语句包含两个部分:
- SELECT子句 希望从表中查出的列的名称
- FROM子句 选取出数据的表的名称
查询所有的列
可以通过星号(*)可以查询出所有的列,但是就无法设定查询结果的顺序了,会根据CREATE TABLE的时候定义的顺序显示,准确的说,查询结果和最后一次对表进行创建或者定义变更(ALTER TABLE)之后的结构相同
-- 使用星号(*) SELECT * FROM <表名>; -- 查看表中所有数据 SELECT * FROM shop.product;
执行结果:
有时服务器工作人员负责对数据库表的建立,对列的命名需要符合编程规范,但是其他工作人员也需要从数据库中查询数据,例如product_id这样的列名就不便于非技术人员分析了,可以使用AS关键字修改查询结果的显示,使用AS关键字也称为为列设置别名
-- AS关键字使用语法 <列名> AS 希望的显示的名称 -- 为列设定别名 -- 别名可以使用中文,使用中文时需要用单引号('') SELECT product_id AS id, product_name AS name, purchase_price AS '购进价格' From product;
执行结果:
常数的查询
在SELECT子句中除了指定列名,也可以指定常数,如下:
-- 常数的查询 SELECT '商品' AS String, 38 AS Number, '2009-09-21' AS date, product_id, product_name FROM product;
执行结果:
结果可以看出,指定的常数填充所有数据行之中,填充的那一列就用AS关键字之后的别名
查询数据去重
现实中,即使经过条件筛选后,查询结果也可能有很多条数据,可以通过DISTINCT关键字去除查询结果的重复数据
-- 1、查询product_type SELECT product_type From Product; -- 2、去重查询product_type SELECT DISTINCT product_type FROM Product;
1执行结果:
2去重后:
注意:
- 如果对多行进行DISTINCT查询,那就要将多个列一起比较,所有指定的列数据都相同才认为需要去重
- NULL也是一条数据,DISTINCT对多行NULL也会生效,合并为一行
WHERE子句
通过SELECT、FROM子句可以指定查询数据的条件,还有其他子句可以进一步缩小范围,实现更准确的查询,WHERE子句可以指定查询的条件。
-- WHERE子句的语法 SELECT <列名>,... FROM <表名> WHERE <条件表达式>; -- 根据WHERE语句来选择记录 SELECT product_name,product_type FROM product WHERE product_type ='衣服';
执行结果:
特别注意,顺序是先执行WHERE子句,筛选出符合条件表达式的数据,再进一步执行SELECT子句。了解子句的执行顺序对SQL语句执行效率有帮助
- SQL基础教程学习(三)SELECT基础查询
- PLSQL 基础教程 三 查询(SELECT)
- SQL 基础-->SELECT 查询
- SQL 基础-->SELECT 查询
- SQL 基础-->SELECT 查询
- SQL 基础-->SELECT 查询
- SQL 基础-->SELECT 查询
- SQL 基础-->SELECT 查询
- SQL学习(3) 查询 SELECT
- SQL Select查询原理--查询语句执行原则(基础)
- SQL SELECT(查询)
- 《SQL基础教程》笔记(三)
- SQL 基础查询语言(事务)(三)
- sql-server基础三(select 、update、insert,delete)
- SQL基础1——select查询
- Python基础教程学习(三)
- Oracle数据库学习(三)--基础查询及关联查询
- 数据库学习(三)----基础查询和关联查询
- 基于DFA敏感词查询的算法简析
- 徘徊:逃离局部最优点
- Java % (取模)运算
- matlab 矩阵
- 棋盘覆盖问题
- SQL基础教程学习(三)SELECT基础查询
- Windows下安装kwant
- 自定义View(二-番外5-canvas-上)
- 数据科学与大数据技术(十二周)- 大数据可视化
- JavaScript事件绑定和事件监听的区别
- ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)
- 自然语言处理学习笔记
- 容器和Kubernetes:未来将是什么?
- SparkSQL的UDF和UDAF