SQL基础教程和select查询条件

2023年 7月 10日 42.8k 0

书中使用的数据库管理系统是PostgreSQL,你也可以使用Mysql,总之,数据库管理软件是不重要的,他们都以SQL这一通用的结构化查询语言为标准,所以重要的是学习SQL。如果你感觉安装mysql或者postgresql很麻烦,你可以使用下面的sql在线平台来练习。

SQL语句简介

sql语句主要包括数据库定义语言(DDL,data defintion language)、数据库操纵语言(DML,Data Manipulation Language)数据库控制语言(DCL,data control language)

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

用来确认或取消对数据库中数据进行的变更。

数据分析需要熟练掌握SQL语句,其中最重要的是数据库操纵语言。

学习SQL的练习平台

SQL Fiddle

之前看到的一个平台,这个平台可以用来练习我们的SQL语句,这样就不用很麻烦地安装MySQL之类的软件了。

平台简介

很简洁,左上方是Schema面板,即模式面板,用了写DDL语句的,即创建、删除、修改等数据库和表的操作的。

点击下方的Built Schema即创建了一个模式,如图二

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

可以选择对应的数据库管理系统软件

SQL基础教程和select查询条件

创建了一个模式(还未插入数据),右边写查询条件

SELECT 语句

select语句是sql数据查询的最重要内容。

将下面的DDL放到schema面板,我们在右侧可以写SELECT语句

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;

查询所有的列

*是通配符,表示所有列

SELECT * 
FROM Product;

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

select语句换行不影响查询结果select子句可以为列设定别名

SQL基础教程和select查询条件

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

比如在商品类别列,我们想知道有哪几类商品呢?使用DISTINCT即可

SQL基础教程和select查询条件

SELECT DISTINCT product_type
FROM Product;

SQL基础教程和select查询条件

使用DISTINCT时,NULL数据也会被视为一类,比如我们对包含null的purchase_price列使用DISTINCT去重

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

SELECT DISTINCT product_type AS type,regist_date AS date
FROM Product;

SQL基础教程和select查询条件

去重前

SQL基础教程和select查询条件

去重后类似于先筛选出两列中所有的条目,在使用DISTINCT关键词去重(注意distinct关键词的位置,在第一个列名的前面)

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子句来进行条件筛选,筛选出符号我们需要的数据

SELECT 
  FROM 
 WHERE 

SQL基础教程和select查询条件

比如说筛选出product_type为衣服的记录

SELECT *
FROM Product
WHERE product_type='衣服';

SQL基础教程和select查询条件

这里是先执行FROM子句--where子句--select子句。这个例子不太明显,下面再举出一个例子

SELECT product_type,product_name
FROM Product
WHERE product_type='衣服';

SQL基础教程和select查询条件

到这里我们学习了SELECT语句的三个子句:select,from,where

它们的书写顺序是固定的,执行顺序是from--where--select

sql注释

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

举例

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

 

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论