SQL基础教程和select查询条件

2023-06-0915:55:10数据库教程Comments853 views字数 2408阅读模式

书中使用的数据库管理系统是PostgreSQL,你也可以使用Mysql,总之,数据库管理软件是不重要的,他们都以SQL这一通用的结构化查询语言为标准,所以重要的是学习SQL。如果你感觉安装mysql或者postgresql很麻烦,你可以使用下面的sql在线平台来练习。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46312.html

SQL语句简介

sql语句主要包括数据库定义语言(DDL,data defintion language)、数据库操纵语言(DML,Data Manipulation Language)数据库控制语言(DCL,data control language)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46312.html

  • 数据库定义语言(DDL,data defintion language)
  • 数据库操纵语言(DML,Data Manipulation Language)
  • 数据库控制语言(DCL,data control language)

用来确认或取消对数据库中数据进行的变更。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46312.html

数据分析需要熟练掌握SQL语句,其中最重要的是数据库操纵语言。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46312.html

学习SQL的练习平台

SQL Fiddle文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46312.html

之前看到的一个平台,这个平台可以用来练习我们的SQL语句,这样就不用很麻烦地安装MySQL之类的软件了。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46312.html

平台简介

很简洁,左上方是Schema面板,即模式面板,用了写DDL语句的,即创建、删除、修改等数据库和表的操作的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46312.html

点击下方的Built Schema即创建了一个模式,如图二文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46312.html

SQL基础教程和select查询条件
SQL基础教程和select查询条件

可以选择对应的数据库管理系统软件文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46312.html

SQL基础教程和select查询条件

创建了一个模式(还未插入数据),右边写查询条件文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46312.html

SELECT 语句

select语句是sql数据查询的最重要内容。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46312.html

将下面的DDL放到schema面板,我们在右侧可以写SELECT语句文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46312.html

CREATE TABLE Product           
(product_id      CHAR(4)      NOT NULL,
 product_name    VARCHAR(100) NOT NULL,
 product_type    VARCHAR(32)  NOT NULL,
 sale_price      INTEGER ,
 purchase_price  INTEGER ,
 regist_date     DATE ,
 PRIMARY KEY (product_id));
START TRANSACTION;
INSERT INTO Product VALUES ('0001', 'T恤' ,'衣服', 1000, 500, '2009-09-20');
INSERT INTO Product VALUES ('0002', '打孔器', '办公用品', 500, 320, '2009-09-11');
INSERT INTO Product VALUES ('0003', '运动T恤', '衣服', 4000, 2800, NULL);
INSERT INTO Product VALUES ('0004', '菜刀', '厨房用具', 3000, 2800, '2009-09-20');
INSERT INTO Product VALUES ('0005', '高压锅', '厨房用具', 6800, 5000, '2009-01-15');
INSERT INTO Product VALUES ('0006', '叉子', '厨房用具', 500, NULL, '2009-09-20');
INSERT INTO Product VALUES ('0007', '擦菜板', '厨房用具', 880, 790, '2008-04-28');
INSERT INTO Product VALUES ('0008', '圆珠笔', '办公用品', 100, NULL, '2009-11-11');
COMMIT;

查询所有的列

*是通配符,表示所有列文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46312.html

SELECT * 
FROM Product;
SQL基础教程和select查询条件
SQL基础教程和select查询条件

select语句换行不影响查询结果select子句可以为列设定别名文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46312.html

SQL基础教程和select查询条件

DISTINCT关键字——从查询结果中删除重复的行

比如在商品类别列,我们想知道有哪几类商品呢?使用DISTINCT即可文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46312.html

SQL基础教程和select查询条件
SELECT DISTINCT product_type
FROM Product;
SQL基础教程和select查询条件

使用DISTINCT时,NULL数据也会被视为一类,比如我们对包含null的purchase_price列使用DISTINCT去重文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46312.html

SQL基础教程和select查询条件
SQL基础教程和select查询条件
SELECT DISTINCT product_type AS type,regist_date AS date
FROM Product;
SQL基础教程和select查询条件

去重前文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46312.html

SQL基础教程和select查询条件

去重后类似于先筛选出两列中所有的条目,在使用DISTINCT关键词去重(注意distinct关键词的位置,在第一个列名的前面)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46312.html

SELECT  product_type AS type,regist_date AS date
FROM Product;
SQL基础教程和select查询条件
SELECT  DISTINCT product_type AS type,regist_date AS date
FROM Product;
SQL基础教程和select查询条件
SQL基础教程和select查询条件

WHERE子句来选择记录

SELECT语句通过WHERE子句来进行条件筛选,筛选出符号我们需要的数据文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46312.html

SELECT <列名>
  FROM <表名>
 WHERE <条件表达式>
SQL基础教程和select查询条件

比如说筛选出product_type为衣服的记录文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46312.html

SELECT *
FROM Product
WHERE product_type='衣服';
SQL基础教程和select查询条件

这里是先执行FROM子句--where子句--select子句。这个例子不太明显,下面再举出一个例子文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46312.html

SELECT product_type,product_name
FROM Product
WHERE product_type='衣服';
SQL基础教程和select查询条件

到这里我们学习了SELECT语句的三个子句:select,from,where文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46312.html

它们的书写顺序是固定的,执行顺序是from--where--select文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46312.html

sql注释

--用于一行注释
/*用于跨行注释,即多行注释*/

举例

SELECT product_type,product_name 
--这个语句用来选取product_type,product_name列
FROM Product
WHERE product_type='衣服';
/*
这个SELECT语句用来选取包含product_type为’衣服‘的
product_type,product_name列
*/

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46312.html

文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46312.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/sjk/46312.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定