SQL数据库语句整理(Northwind数据库)

1.NEWID()    随机函数,进行随机排序使用

查询某个表的随机排序时使用

SELECT *
FROM Products
ORDER BY NEWID()

2. 通配符

(1) %  代表一个或者任意多个字符

SELECT * FROM Products
WHERE ProductName LIKE ‘A%‘

(2)  _ 代表单个字符

SELECT * FROM Products
WHERE ProductName LIKE ‘Alice Mutto_‘

SELECT * FROM Products
WHERE ProductName LIKE ‘_lice Mutton‘

SELECT * FROM Products
WHERE ProductName LIKE ‘Ali_e Mutton‘

(3) [ ]    指定范围内的单个字符

SELECT * FROM Products
WHERE ProductName LIKE ‘[A,B,C]_[A,B,C]%‘

(4) [^ ]    不在范围内的单个字符

SELECT * FROM Products
WHERE ProductName LIKE ‘[^A,B,C]%[A,B,C]‘

3. ORDER BY

•A. Order By 中可以使用列号

•B. 如果没有指定是升序(ASC),还是降序(DESC),缺省为升序(ASC)

•C. 可以对多达16个列执行Order By语句

4. GROUP BY  GROUP BY 后面的字段必须与SELECT后面的一致

SELECT ProductID,ProductName,SUM(UnitPrice)
FROM Products
WHERE ProductID>10
GROUP BY ProductID,ProductName  --与select后面保持一致
HAVING SUM(UnitPrice)>20 --聚合函数之类的需要用having--->类似于where

(1) WITH ROLLUP:每一组求一个结果

(2)WITH CUBE:每一组求一个结果后,所有的也求一个结果

5.临时表

(1)局部临时表 #TABLE

SELECT TOP 10 *
INTO #PRODUCCT_NEW
FROM Products

SELECT * FROM #PRODUCCT_NEW

(2)全局临时表 ##TABLE

SELECT TOP 10 *
INTO ##PRODUCCT_NEW
FROM Products

SELECT * FROM ##PRODUCCT_NEW

DROP TABLE ##PRODUCCT_NEW

(3)Insert Into Table Name Select Column1 ..From..Where..

INSERT INTO Categories
(
CategoryID
,CategoryName
,Description
,Picture
)
(SELECT 10,CategoryName,--这是一个新的值10
N‘这是一个描述‘,Picture
FROM Categories
WHERE CategoryID=‘1‘)

SET IDENTITY_INSERT Categories ON

6. UPDATE   UPDATE…SET…FROM…

UPDATE Products
SET CategoryID=(SELECT TOP 1 CategoryID FROM Categories )
WHERE ProductID=3

7.IF WHILE

(1).

IF 条件

BEGIN … END

ELSE

BEGIN … END

(2)

WHILE 条件

BEGIN

END

Declare @i int
Declare @j int
Declare @str varchar(max)
set @i=9
set @j=1
while(@i>=1)
begin
set @str=‘‘
 while(@j<=@i)
     begin
    set @str=@str+CONVERT(varchar,@i)+‘*‘+CONVERT(varchar,@j)+‘=‘+CONVERT(varchar,@i*@j)+‘ ‘
     set @j=@j+1
     end
 print @str
 set @i=@i-1
 set @j=1
end

8. CASE WHEN 语句

SELECT TOP 1000 [EmployeeID]
      ,[LastName]
      ,[FirstName]
      ,[Title]
      ,CASE    [TitleOfCourtesy]
      WHEN ‘Ms.‘ THEN ‘Ms.先生‘
      WHEN ‘Mr.‘ THEN ‘Mr.先生‘
      ELSE ‘未命名‘
      END AS TitleOfCourtesy
  FROM [Northwind].[dbo].[Employees]
SELECT TOP 1000
       CASE WHEN [ProductID]<10 THEN N‘ <10‘
            WHEN [ProductID]>10 and [ProductID]<20 THEN N‘10> <20‘
            ELSE N‘>20‘ END AS [ProductID]
      ,[ProductName]
      ,[SupplierID]
      ,[CategoryID]
      ,[QuantityPerUnit]
      ,[UnitPrice]
      ,[UnitsInStock]
      ,[UnitsOnOrder]
      ,[ReorderLevel]
      ,[Discontinued]
  FROM [Northwind].[dbo].[Products]

9.

(1) Substring()

SELECT SUBSTRING(PRODUCTNAME,0,5)
FROM PRODUCTS WHERE ProductID=5

(2)RTRIM, LTRIM左右缩进

(3) LEN长度

SELECT LEN(ProductName),PRODUCTNAME
FROM PRODUCTS WHERE ProductID=5

(4)RIGHT, LEFT  right()从右边数输出,left()从左边数输出

SELECT
PRODUCTNAME,LEN(ProductName),
LEFT(PRODUCTNAME,5)
,RIGHT(PRODUCTNAME,3)
FROM PRODUCTS WHERE ProductID=5
时间: 2024-12-12 07:30:12

SQL数据库语句整理(Northwind数据库)的相关文章

C# 执行多条SQL更新语句,实现数据库事务

class Program { class Result<T> { public T data; public string Message; public bool Success; public string StackTrace; } struct ExecuteableUnit { public string SQL; public SqlParameter[] param; } /// <summary> /// 执行多条SQL语句,实现数据库事务. /// </s

Mysql数据库--语句整理/提升/进阶/高级使用技巧

一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'--- 开始 备份BACKUP DATABASE pubs TO testBack 4.说明:创建新表create

SQL常用语句整理

有次笔试最后一页的三个数据库连接查询,没有写出来,被考官暗讽了下.现在想来,实习初,确实很LOW.现公司刚入职的时候,负责过ETL方面,所以和数据库打了不少交道,五十行的联合查询.上百行的存储过程很常见,游标.视图.索引频频接触,包括在SQL中断点调试,测值等等,在这里将所接触所了解的进行整理,做一个小总结,慢慢的积累,对游标.视图等等也做一个简单的说明.我有时候遇到相同问题,会出现忘记上次是如何解决问题的情况,直到花费大量的时间.精力去重新找到解决方案.这很浪费,所以凡是遇到的问题,所做解决的

sql查询语句整理

首先这是我下面语句查询的一个表结构 t_user插入如下数据 t_depart中插入如下数据 t_role插入如下数据 好,建好表后,我们开始数据库查询语句 简单的查询语句 1. 查看表结构 DESC t_user 2. 查询所有列 SELECT * FROM t_user 3. 查询指定列 SELECT userno,username FROM t_user SELECT DISTINCT departno  FROM  t_user 只显示结果不同的项 4. 查询指定行 SELECT * F

sql常用语句整理(包括增删改查)

转载::CSDN: http://blog.csdn.net/yjb7268888/article/details/50014393(原文地址) 一.插入(复制)表数据 1.INSERT INTO 语句 (1)插入新的一行数据 [sql] view plain copy INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing'); (2)在指定的列中插入数据 [sql] view plain copy INSER

SQL Server 2008 R2 主从数据库同步

一.准备工作: 主数据库服务器: OS:Windows Server 2008 R2    DB: SQL Server 2008 R2 Hostname : CXMasterDB  IP: 192.168.1.224/24    dg: 192.168.1.1 DNS: 192.168.1.19    DNS: 202.96.209.133 从数据库服务器: OS:Windows Server 2008 R2    DB: SQL Server 2008 R2 Hostname : CXSla

SQL语句汇总(一)——数据库与表的操作以及创建约束

首先,非常感谢大家对上篇博文的支持,真是让本菜受宠若惊,同时对拖了这么久才出了此篇表示抱歉. 前言:此文旨在汇总从建立数据库到联接查询等绝大部分SQL语句.SQL语句虽不能说很多,但稍有时间不写就容易出错.博主希望通过此文来战胜自己的健忘,如果大家认可也可以保留起来. "SQL"是 "Structured Query Language" 即“结构化查询语言”的简称,它是用来管理关系型数据库的. 其包括: –数据定义语言(DDL) –数据查询语言(DQL) –数据操作

SQL数据库操作整理

1.规范 ①关键字与函数名称全部大写: ②数据库名称.表名称.字段名称全部小写: ③SQL语句必须以分号结尾. 2.数据库操作 // 1. 创建数据库,其中[]表示可以省略 CREATE { DATABASE | SCHEMA } [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name; // 2. 显示当前服务器下的数据库列表 SHOW { DATABASES | SCHEMAS } [LIKE 'pattern' |

图解MYSQL JOIN ON,SQL JOIN 详解,数据库sql join语句

对于SQL的Join,在学习起来可能是比较乱的.我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚.Coding Horror上有一篇文章(实在不清楚为什么Coding Horror也被墙)通过 文氏图 Venn diagrams 解释了SQL的Join.我觉得清楚易懂,转过来. 假设我们有两张表. Table A 是左边的表. Table B 是右边的表. 其各有四条记录,其中有两条记录是相同的,如下所示