SQL 指令應用介紹. 何謂 SQL SQL 是「結構化查詢語言」 ( S tructured Q uery L anguage )的簡稱, 讀作「 Ess Que Ell 」或「 sequel 」。 SQL 最初是由 IBM 的研究中心在 1970 年代初期 所開發的,是專門用於關連式資料庫的一種查詢.

Slides:



Advertisements
Similar presentations
第二章 简单的 SQL 语句. 本章要点  创建一个简单的表  SQL 语句介绍  最简单的查询语句 select  带有限制条件的查询  查询结果的排序显示.
Advertisements

第十章 Java 数据库编程. 内容提要 数据库有关概念; 介绍 JDBC 的结构; 重点介绍 JDBC 访问几种数据库的基本过程;
2010 年 6 月课件制作人:王亚楠 1 模块 2 项目开发概论 教学课件 年 6 月课件制作人:王亚楠 2 目录 目标 了解:数据库技术的基本概念与结构 理解:数据模型的分类与结构组成 掌握:关系数据库及 SQL 的基本理论 知识 掌握:数据库设计的方法与步骤 内容 2.1 数据库技术基础.
Data type P64 ‘’ 转义字符 P67 P68 EXE,选出某个教师的学生中最新的一 个,要姓名, ID (,LIMIT ) EXISTS,NOT EXISTS P409 Q,EXISTS 和 in 的区别( 1000 ,查询结果)
Java 技术与应用 数据库应用 ( 第 14 章 ) 西安交大 卫颜俊 2008 年 12 月 电子信箱: QQ: 网站 : /java.
第 7 章 数据库 1. Overview  数据库概述  数据库管理系统  数据库的体系结构和数据库模型  SQL 语言  数据库技术  构建数据库系统 2.
Select 指令 基本結構 WHERE Like語法 Order by與group by Having 與 AS
目 录 第 1 章 数据库技术基础 第 2 章 SQL Server基础 第 3 章 数据库管理 第 4 章 查询和视图
第5章 关系数据库标准语言SQL 主讲:张丽芳.
十一 ASP对数据库的访问.
第2讲 Transact-SQL语言.
第5章 索引及视图操作 数据库原理应用与实践 SQL SERver2014(第2版) 主编 贾铁军 科学出版社 编著 陈国秦 万程 邢一鸣
数据库技术 实践.
高等院校计算机教材系列 数据库原理与应用(第2版) 任课教师:刘雅莉
Chap 11 SQL基本查詢指令.
第8章 SELECT敘述的基本查詢 8-1 SELECT查詢指令 8-2 SELECT子句 8-3 FROM子句 8-4 WHERE子句
数据库原理及应用 《数据库原理及应用》课程组 荆楚理工学院.
第4章 关系数据库标准语言SQL 4.1 SQL语言概述 4.2 SQL数据查询功能 4.3 SQL数据操作功能 4.4 SQL数据定义功能.
資料庫 (Database) SQL Server 2008實作
第3章 SQL的基础知识 数据库管理及应用 3.1 SQL简介 3.2 SQL的数据模型 3.3 标识符 3.4 使用SQL语句管理数据库
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
文科计算机小公共课规划教材 Access 程序设计.
第一讲 数据查询优化.
电子商务师 第二部分 电子商务的技术基础—计算机.
计算机应用基础 上海大学计算中心.
第3章 数据查询与SQL命令.
Views ,Stored Procedures, User-defined Function, Triggers
数据库应用与程序设计.
第五讲 利用视图进行查询优化.
SQL Structured Query Language 用以操縱資料庫的指令集 資料操作語言DML:操作資料錄
關聯式資料庫.
第六章 學習SQL語言.
課程名稱:資料庫系統 授課老師:李春雄 博士
Chapter 12 T-SQL 語法與 ASP.NET.
二.資料庫系統建立與管理 Access 資料庫:windows下的單機資料庫 Access 操作 Mysql資料庫介紹.
2、掌握SQL中各种查询方法和数据更新方法 3、掌握SQL中视图的定义方法和用法 4、掌握SQL的授权机制
Chap 10 SQL定義、操作與控制指令.
高等資料庫管理系統 Advanced Database Management System
題庫解析:MTA資料庫檢定 授課老師:李春雄 博士
第八章 利用SELECT查詢資料.
資料庫安全 (Database Security)
彰化縣政府補助辦理網頁設計資料庫應用班 ASP與資料庫介紹 建國技術學院資管系 饒瑞佶.
SQL語法 定義與操作指令.
Transact-SQL 語言設計教學.
班級:博、碩子一甲 授課老師:鐘國家 助教:陳國政
SQL Server 2000 数据库入门.
第3章 MySQL教學範本 主從式資料庫系統 - CH3.
5 数据库管理与保护 数据库运行的最小逻辑工作单位是事务,所有对数据库的操作,都以事务作为一个整体来执行或撤销。
第九章 進階的查詢技巧.
SQL SERVER 一些经典语句 1.
SQL語法.
第十七章 資料庫SQL 17-1 SELECT 17-2 INSERT 17-3 UPDATE 17-4 DELETE.
資料庫程式設計 VB資料庫設計簡介 週次:6 建國科技大學 資管系 饒瑞佶.
数据库技术.
数据库技术.
第18章 SQL結構化查詢語言 18-1 SQL語言的基礎 18-2 SQL的查詢指令 18-3 SQL子查詢與合併查詢.
CS, ZJU 4/18/2019 Chapter 7 数据库.
3.2 Mysql 命令行 1 查看数据库 SHOW DATABASES; 2 创建一个数据库test1 CREATE DATABASE test1; 3 选择你所创建的数据库 USE test1; (按回车键出现Database changed 时说明操作成功!) 4 查看现在的数据库中存在什么表.
PHP與MySQL 入門學習指南 凱文瑞克 著 第 22 章 SQL 介紹與建立MySQL資料庫.
3. SQL语言的应用 3.1 SQL历史和优点 3.2 数据查询 3.3 数据操纵.
查询与视图 蔡海洋.
第14章 SQL数据查询与操纵 内容提要 本章知识点
SQL查询语句 蔡海洋.
第三章 SQL Server数据管理.
第十八章 資料庫與Access 課前指引 在日常生活中,無論各位到銀行開戶、醫院掛號或是到學校註冊,一定都會填寫所謂的個人資料,裡面通常包括姓名、性別、生日、電話、住址等項目,所以人們建立了各種不同的列表來儲存及組織這些資料。 人們當初試圖建造電腦的主要原因之一就是可用來儲存及管理一些數位化資料清單與資料,這也是資料庫觀念的由來。尤其在資訊科技發達的今日,日常的生活已經和資料庫產生密切的結合。例如目前最熱門的網路拍賣,如何讓千萬筆交易順利完成,或者透過手機記錄著他人電話號碼,並能分類與查詢電話。
8 SELECT敘述的基本查詢 8-1 SELECT查詢指令 8-2 SELECT子句 8-3 FROM子句 8-4 WHERE子句
SQL語法教學 2015/10/15 John.
第 4 章 認識 SQL 語言與資料型別.
11 檢視表的建立 11-1 檢視表的基礎 11-2 建立檢視表 11-3 修改與刪除檢視表 11-4 編輯檢視表的內容.
第4章 数据查询.
Presentation transcript:

SQL 指令應用介紹

何謂 SQL SQL 是「結構化查詢語言」 ( S tructured Q uery L anguage )的簡稱, 讀作「 Ess Que Ell 」或「 sequel 」。 SQL 最初是由 IBM 的研究中心在 1970 年代初期 所開發的,是專門用於關連式資料庫的一種查詢 語言。 利用 SQL 可以用來定義資料庫結構、建立表格、 指定欄位型態與長度,也能新增、異動或查詢資 料,它已經成為關聯式資料庫的標準語言。

查詢語言的標準 SQL 的標準化作業,主要是由 ANSI (美國國家 標準學會)與 ISO (國際標準組織)這兩個組織 所推動的。 最初是在 1986 年由 ANSI 制定其標準化規格,隨 後在 1992 年時再推出更新的版本,就是所謂的 「 SQL-92 」、「 SQL/92 」或「 SQL2 」。目前, 新一代的規格仍在持續發展中,即「 SQL-99 」規 格。 一般稱之為 ANSI-92

SQL 的普及性 資料庫廠商 –Microsoft Access for Windows – 現今市面上所有關聯性資料庫軟體幾乎都支援 SQL 。 – 市面上關聯性資料庫軟體例如: Oracle 、 Sybase 、 DB2 、 Microsoft SQL Server 。 Microsoft SQL Server 所使用的 SQL 稱之為 Transact-SQL (T-SQL) ,它強化了原有的 SQL 功能。

SQL 的分類 資料定義語言 ( Data Definition Language , DDL ) – 可以用來建立、更改或刪除 table 、 schema 、 domain 、 index 與 view 。 – 主要指令有三: CREATE 、 ALTER 與 DROP 。 資料操作語言 ( Data Manipulation Language , DML ) –DML 係用來操作資料。 – 主要指令有四: SELECT 、 INSERT 、 UPDATE 和 DELETE 。 資料控制語言 ( Data Control Language , DCL ) – DCL 提供資料庫的安全性。 – 主要指令有四: GRANT 和 REVOKE 、 COMMIT 、 ROLLBACK 。

資料表 (Tables) 在關聯式的資料庫系統中,表格是存放資料的地方。 在表格中,橫向的資料我們稱之為行 (Row) ,其意義 是一筆資料錄 (Record) ; 而縱向的資料我們稱之為欄位 (Column) ,其意義是在 同一表格中具有相同屬性的資料集合。

檢視表 (Views) 所謂的 VIEW 物件是從一個或多個實際儲存資料 的表格中所衍生出來的 可將它想像成只是一個定義在表格上的虛擬表格 而被 VIEW 參考使用到的表格則稱之為基底表格

Table 之間的關聯 Products 表格的 –PK(Primary Key 主鍵 ) 是 Prod_num+supp_code –FK(Forgien Key 外鍵 ) 是 supp_code Suppliers 表格的 –PK(Primary Key 主鍵 ) 是 supp_code 想查詢各產品的供應商名稱 – 必須將 Products 表格 FK 與 Suppliers 表格 PK 作串聯關係,才能將 供應商名稱 (supp_name) 找到。

SQL 基本語法 語法的四大基本敘述: –Select 敘述 –Updae 敘述 –Insert 敘述 –Delete 敘述

SELECT 敘述(選取查詢) 語法: SELECT {field list} FROM {table} WHERE {criteria} ORDER BY {order field list} 範例: SELECT StuID, Cname, Sex FROM USTD83A WHERE Dep="332" and Grade="2" ORDER BY StuID

關聯性 SELECT 語法: SELECT {field list} FROM {table1} INNER JOIN {table2} ON {table1.field} = {table2.field} WHERE {criteria} 範例: SELECT UCHC83A.StuID, USTD83A.Cname FROM UCHC83A INNER JOIN USTD83A ON UCHC83A.StuID= USTD83A.StuID WHERE UCHC83A.Crsno = "1589"

UPDATE 敘述(修改資料) 語法: UPDATE {table} SET {field} = new value WHERE {criteria} 範例: UPDATE USTD83A SET Grade = Grade + 1 WHERE Grade = 4

INSERT 敘述(新增資料) 語法: INSERT INTO {table} VALUES (new value) 範例: INSERT INTO ZIPCODE VALUES (“111”, “ 士林區 ”, “ 台北市 ")

DELETE 刪除資料(修改資料) 語法: DELETE FROM {table} WHERE {criteria} 範例: DELETE FROM USTD83A WHERE Grade = 4

聚合函數 一個您可以用來計算合計的函數, 例如 Sum 、 Count 、 Avg 及 Max 。 在撰寫運算式及在程式設計時,您可以使 用 SQL 聚合函數 及範圍聚合函數來計算各 種統計值。

SQL 指令實例介紹 進階 Select 查詢指令

基本的 Select 指令 SELECT ProductID, Name, ListPrice FROM Production.Product WHERE ListPrice > $40 ORDER BY ListPrice ASC

透過 AS 子句可指派別名給結果集資料行 USENorthwind SELECTCategoryName AS ' 產品名稱 ', Description AS ' 說明 ' FROM dbo.Categories

排序資料 (ORDER BY) SELECTcategoryid ' 產品類別代號 ',productname,unitprice ' 單價 ' FROMNorthWind.dbo.products ORDER BY unitprice ASC

移除重複的資料列 (DISTINCT) 使用 DISTINCT 關鍵字列出不重複的 Title 資料列 SELECT DISTINCT Title FROM AdventureWorks.HumanResources.Employee ORDER BY Title

使用運算式計算的結果 SELECT OrderID ' 訂單編號 ',ProductID ' 產品編號 ', (UnitPrice*Quantity)*(1-Discount) ' 總金額 ' FROM Northwind.dbo.[Order Details] Order By 3 DESC

透過 GETDATE() 系統函數取得當下執行的 日期與時間,並透過運算子示範加減日期。 SELECT GETDATE() ' 今天 ',GETDATE()+1 ' 明天 ',GETDATE()-2 ' 前天 '

加號「 + 」運用在字串與數值運算式中的執行結果 USE AdventureWorks; SELECT FullName=c.FirstName+'.'+c.LastName, VacationHours, SickLeaveHours, 休假總時數 =VacationHours + SickLeaveHours FROM HumanResources.Employee AS e JOIN Person.Contact AS c ON e.ContactID = c.ContactID ORDER BY 休假總時數 ASC

資料型別不同的資料無法計算 SELECT ProductID,Name,04+ProductNumber FROM AdventureWorks.Production.Product p

透過 CONVERT 轉換函數,將數值資料轉換 為字串型別,則兩個相同型別的字串即可相加 SELECT ProductID,Name,convert(nvarchar,'04')+ProductNumber FROM AdventureWorks.Production.Product p

查詢國家欄位內容為 USA 的員工資料 USE NorthWind SELECT country,city,lastname FROM employees WHERE country='USA'

透過不等運算子傳回所有位在 USA 以外的員工資料 USE NorthWind SELECT country,city,lastname FROM employees WHERE country<>'USA'

透過不等運算式找出庫存量大於 100 的產品資料 USE NorthWind SELECT ProductName,UnitPrice,UnitsInStock FROM dbo.Products WHERE UnitsInStock>110

使用萬用字元 SELECT Phone FROM AdventureWorks.Person.Contact WHERE Phone like '415%' SELECT Phone FROM AdventureWorks.Person.Contact WHERE Phone = '415%' USE AdventureWorks select distinct City, PostalCode from Person.Address where PostalCode LIKE '[A-E][A-Z][0-9][0-9]' GO

使用邏輯運算子 (AND 、 OR 與 NOT ) SELECT ProductID, ProductModelID, Color FROM AdventureWorks.Production.Product WHERE ProductModelID = 20 OR ProductModelID = 21 AND Color = 'Red' SELECT ProductID, ProductModelID, Color FROM AdventureWorks.Production.Product WHERE (ProductModelID = 20 OR ProductModelID = 21) AND Color = 'Red'

取回指定範圍內的資料 ( 使用 BETWEEN AND 關鍵字 ) SELECT ProductID, Name,ListPrice FROM AdventureWorks.Production.Product WHERE ListPrice BETWEEN 20 AND 25

使用清單當做搜尋條件 ( 使用 IN 關鍵字 ) USE Northwind SELECT companyname,country From suppliers WHERE country IN ('Japan','Italy','UK','Australia')

使用彙總函數 SELECT SUM(Quantity) as ' 訂購總數 ', COUNT(Quantity) as ' 訂單筆數 ', AVG(Quantity) as ' 平均數量 ', MIN(Quantity) as ' 單筆訂購最小值 ', MAX(Quantity) as ' 單筆訂購最大值 ' FROM Northwind.dbo.[Order Details] WHERE ProductID=51

列出前 N 筆資料 SELECT TOP (5) EmployeeID,count(EmployeeID) 訂單數量 FROM northwind.dbo.Orders GROUP BY EmployeeID ORDER BY 訂單數量 DESC

關連多個資料表 SELECT a.EmployeeID, LastName, FirstName, OrderDate FROM Employees a LEFT JOIN Orders b ON a.EmployeeID = b.EmployeeID

使用 SELECT INTO SELECT * INTO TT FROM ( SELECT companyname,country From suppliers WHERE country IN ('Japan','Italy','UK','Australia') ) TT1

使用 Truncate 與 Drop TRUNCATE TABLE TT DROPTABLETT