SQL学习

2017/2/13
查询:
SELECT * FROM c2_company;

唯一值:
SELECT DISTINCT company_type FROM c2_company;

更精确的查找:
SELECT * FROM c2_company c WHERE c.`COMPANY_NAME`=‘刘欢的de‘;

AND:
SELECT * FROM c2_company c WHERE c.`COMPANY_NAME`=‘刘欢的de‘ AND c.`COMPANY_TYPE`=‘T‘;

OR:
SELECT * FROM c2_company c WHERE c.`COMPANY_NAME`=‘刘欢的de‘ OR C.`COMPANY_TYPE`=‘R‘;

ORDER BY 升序:
SELECT * FROM c2_company ORDER BY parent_id;

DESC 降序:
SELECT * FROM c2_company ORDER BY parent_id DESC;

UPDATE 修改:
UPDATE c2_company SET company_name =‘欢欢波波‘ WHERE company_name =‘刘欢的de‘;

DELETE 删除:
DELETE FROM c2_company WHERE company_name=‘bobo‘;

INSERT INTO 插入:
INSERT INTO c2_company(id,company_name) VALUES (6,huanhuan);

LIKE 模糊查询:
SELECT * FROM c2_company WHERE company_name LIKE ‘欢%‘;
SELECT * FROM c2_company WHERE company_name LIKE ‘%商‘;
SELECT * FROM c2_company WHERE company_name LIKE ‘%小玩意%‘;
SELECT * FROM c2_company WHERE company_name NOT LIKE ‘%小玩意%‘;

TOP 摘取:
SELECT top 5 * FROM c2_company;
SELECT top 50 percent * FROM c2_comapny;

MYSQL中语法 LIMIT :
SELECT * FROM c2_company LIMIT 5;

ORACLE中语法 :
SELECT * FROM c2_company WHERE rownum <=‘6‘;

IN 在where子句子中规定多个值:
SELECT * FROM c2_company WHERE company_type IN (‘T‘,‘R‘);

BETWEEN ^ AND ^  选取这个范围内的值:
SELECT * FROM c2_company WHERE id BETWEEN 2 AND 40;

AS
alias 别名:列
SELECT id AS ‘排序‘,company_name AS‘公司名称‘ FROM c2_company;

JOIN 通过两个或多个表相同的部分,把表结合起来:
通过两个表相同的部分进行结合:
SELECT c2_company.`COMPANY_CODE`,c2_store.`BACK_NUMBER`FROM c2_company,c2_store
WHERE c2_company.`AREA_ID_FK`=c2_store.`AREA_ID_FK`;

INNER JOIN ^ ON 表中至少有一个匹配:
SELECT c2_company.`COMPANY_CODE`,c2_store.`COUNTER_NUMBER` FROM c2_company INNER JOIN c2_store ON c2_company.`AREA_ID_FK`=c2_store.`AREA_ID_FK`;

LEFT JOIN ^ ON 从左表有符合条件的行,即使右表没有符合条件的行。
SELECT c2_company.`COMPANY_CODE`,c2_store.`COUNTER_NUMBER` FROM c2_company LEFT JOIN c2_store ON c2_company.`AREA_ID_FK`=c2_store.`AREA_ID_FK`;

RIGHT JOIN ^ ON  从右表有符合条件的行,即使左表没有符合条件的行。
SELECT c2_company.`COMPANY_CODE`,c2_store.`COUNTER_NUMBER` FROM c2_company RIGHT JOIN c2_store ON c2_company.`AREA_ID_FK`=c2_store.`AREA_ID_FK`;

FULL JOIN ^ON  只要某个表存在匹配
SELECT c2_company.`COMPANY_CODE`,c2_store.`COUNTER_NUMBER` FROM c2_company FULL JOIN c2_store ON c2_company.`AREA_ID_FK`=c2_store.`AREA_ID_FK`;

UNION 合并两个或多个 SELECT 语句的结果集
UNION 合并不重复:
SELECT E_Name FROM Employees_China
UNION
SELECT E_Name FROM Employees_USA;

UNION ALL 合并所有,会重复:
SELECT E_Name FROM Employees_China
UNION ALL
SELECT E_Name FROM Employees_USA;

SELECT * FROM c2_company;

SQL函数
AVG 平均值
SELECT AVG(id) FROM c2_company;

COUNT 统计数目
SELECT COUNT(company_type) FROM c2_company WHERE company_type=‘T‘;
SELECT COUNT(*) FROM c2_company;
SELECT COUNT(DISTINCT company_type) FROM c2_company;

FIRST 第一个值
SELECT FIRST(id) FROM c2_company;

LAST 最后一个值
SELECT LAST(id) FROM c2_company;

MAX 最大值
SELECT MAX(id) FROM c2_company;

MIN 最小值
SELECT MIN(id) FROM c2_company;

SUM 总和
SELECT sum(id) FROM c2_company;

-- 品牌商
SELECT * FROM c2_brand

-- 公司
SELECT* FROM c2_company

-- 零售商管理
SELECT * FROM c2_retailer
 
-- 门店
SELECT * FROM c2_store

-- 人员管理
SELECT * FROM c2_user

-- 门店人员关系表
SELECT * FROM c2_store_user
 
--
SELECT * FROM c2_store c

--  品顾表
SELECT * FROM C2_SCAN_STOCK_CYCLE
    
 -- 收货地址
SELECT c.* FROM c2_location_info c

SELECT * FROM c2_goods c
WHERE c.goods_name =‘A8-930‘
AND c.color =‘尊爵金(4+32GB版)_02‘;

SELECT * FROM c2_company;

时间: 2024-11-07 07:14:57

SQL学习的相关文章

Oracle之PL/SQL学习笔记

自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整理了一下,给大家分享,有不足之处还望大家批评指正. PL/SQL定义:PL/SQL是由Oracle开发,专门用于Oracle的程序设计语言. PL---Procedural Language. SQL—Structure QueryLanguage.PL/SQL包括过程化语句和SQL语句     PL/SQL的单位:块. 一个块中可以嵌套

SQL 学习日志01

查看一个数据库的所有表: Select TABLE_NAME FROM 数据库名称.INFORMATION_SCHEMA.TABLES Where TABLE_TYPE='BASE TABLE' (select * from 表名 where 条件) 查看一张表的表结构: sp_help table_name(表名)  获取的信息比较全 sp_columns table_name(表名) 创建数据库: use master go create database test01(数据库名) 删除数据

SQL 学习日志02

SQL数据类型 1.字符类型 char   --定长字符数据   如 char(12)  这字段就会占用12字节的空间,无论这个字段只填写了2个字节.一般在可确定这字段长度时选用,如sex字段(因只有男和女两项可选)就可用 char(2). varvhar   --可变长字符数据  如varchar(50) 这字段最大只能填写50字节,按实际填写的字节存储.一般在不确定这字段长度时使用,如 Smail字段(因邮箱的长度不确定) 就可用varchar(50). text    --用来存储大量非统

TERADATA SQL学习随笔&lt;一&gt;

最近在TERADATA环境学习SQL.在这里记录一下学习中查过的知识点,作为备案. 目录: 关于SQL学习及所用在线数据库 表联合 (join) SQL子查询 在select时创建新字段 (as, case when) 数据分组 (group by + 聚合函数count, sum, avg等) 利用over (partition by)进行数据分组并创建新字段 样本选择 1.关于SQL学习及所用在线数据库 之前有看过一些SQL学习的书.但如果从学习效率来说,跟着书学习SQL,不如直接看生产环境

SQL学习笔记:选取第N条记录

Northwind数据库,选取价格第二高的产品. 有两种方法,一个是用Row_Number()函数: SELECT productname FROM (SELECT TOP 2 productname, Row_Number() OVER (ORDER BY unitprice desc) AS rownum FROM Products) AS tbl WHERE rownum = 2; 另一种是对子语句的的结果再进行排序: SELECT top 1 productname FROM (SELE

SQL学习_查询重复数据和连接多个表数据的方法

进行数据库测试时需要根据不同场景查询数据,以便验证发现的问题是否为脏数据引起的.记录一下最近常用的查询方法: 1. 查询表中重复数据(id不同,多个字段值相同) select P1.* from project as P1, project as P2 where P1.id<>P2.id and P1.ProjectId=P2.ProjectId and P1.ServiceTypeId=P2.ServiceTypeId and P1.Rank=P2.Rank 2.连接多个表数据 selec

SQL 学习日志03

添加表内容: insert into table_name (字段1,字段2,...) values (值1,值2,....) 查询表内容: select * from table_name select 字段1,字段2 from table_name select top 10 * from table_name select * from table_name where 字段=值 select * from table_name where 字段<>值 select * from tab

PL/SQL学习

资料1 -- Created on 2014/8/20 declare -- Local variables here i integer; begin i := 12; -- Test statements here DBMS_OUTPUT.put_line(i); end; 资料2 declare cursor s is select * from city_app.city_server; s_ s%rowtype; begin open s; fetch s into s_; DBMS_

sql学习笔记1

参考: 1.<SQL学习指南> 2.慕课网,SQL学习基础 提纲: 第二章 创建和使用数据库 2.1 创建MYSQL数据库 2.2 使用mysql命令行工具 2.3 MySQL数据类型 2.3.1 字符型数据 2.3.2 数值型数据 2.3.3 时间数据 2.4 表的创建 2.4.1 第一步:设计 2.4.2 第二步:精华 2.4.3 第三步:构建SQL方案语句 2.5 操作和修改表 2.5.1 插入数据 2.5.2 更新数据 2.5.3 删除数据 2.6 导致错误的语句 2.6.1 主键不唯

sql学习笔记2

<SQL学习指南>第9章 子查询 参考:leetcode 2 ---------------------- 9.1 啥是子查询 9.2 子查询的类型 基于结果集的类型:单行/单列,单行/多列,多行/多列 完全独立的(非关联子查询).引用包含语句中的列(关联查询) 9.3 非关联子查询 前面讲的都是非关联的,可以的单独执行而不需要引用包含语句中的任何的内容.我们遇到的大多数的子查询都是这种类型,但是更新或者 删除语句会经常遇到关联子查询. 另外一个特点,前面的子查询除了是非关联的外,返回的都是一