當前位置:首頁 » 編程語言 » sql語言課件
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql語言課件

發布時間: 2022-11-12 11:07:08

『壹』 sql資料庫基礎知識

sql資料庫基礎知識:

一、SQL 概述
1、什麼是 SQL
SQL(Structured Query Language)是「結構化查詢語言」,它是對關系型資料庫的操作語言。它可以應用到所有關系型資料庫中,例如:MySQL、Oracle、SQL Server 等。SQL 標准(ANSI/ISO)有:SQL-92:1992 年發布的 SQL 語言准;SQL:1999:1999 年發布的 SQL 語言標簽;SQL:2003:2003 年發布的 SQL 語言標簽;這些標准就與 JDK 的版本一樣,在新的版本中總要有一些語法的變化。不同時期的資料庫對不同標准做了實現。



『貳』 求SQL語言教程,PDF,Word都可以,要詳細,發到[email protected].

我有ppt的樓主要不,是我們老師給我們上SQL的課件的課件,我發你郵箱,樓主看好給分啊!!!好心的樓主

『叄』 簡單的SQL語言(資料庫作業)

--⑴張鵬同學不及格的那些課程名,以及這些課程的分數、任課教師
selectCn,Score,TEACHERfromCjoin
(
selectC#,scorefromSC
whereS#=(selectS#fromSwhereSn='張鵬')
)T
onC.C#=T.C#
--⑵選了劉洋老師三門以上課程的學生的學號和姓名
selectS#,SnfromSwhereS#in
(
selectS#fromSC
whereC#in(selectC#fromCwhereTEACHER='劉洋')
groupbyS#
havingCOUNT(*)>3
)
--⑶只有男生選的課程名稱和教師——要求不用集合運算符
selectCn,TEACHERfromC
whereC#notin
(
selectC#fromSC
whereS#in(selectS#fromSwheresex='女')
)
--⑷全部女生都選了的課程名稱
selectC#fromSC
whereS#in(selectS#fromSwheresex='女')
groupbyC#
havingCOUNT(*)=(selectCOUNT(*)fromSwheresex='女')
--⑸資料庫課程分數低於平均的學生姓名和他的分數
selectCn,ScorefromCjoin
(
selectC#,ScorefromSC
whereC#=(selectC#fromCwhereCn='資料庫')
andScore<(selectAVG(Score)fromSC
whereC#=(selectC#fromCwhereCn='資料庫')
)
)T
onC.C#=T.C#

『肆』 SQL是什麼什麼化語言

SQL語言簡介:

結構化查詢語言(Structured Query Language)簡稱SQL(發音:/ˈes kjuː ˈel/ "S-Q-L"),是一種特殊目的的編程語言,是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;同時也是資料庫腳本文件的擴展名。

SQL語句:

主要是由sql 關鍵字加sql對象的名稱組合而成。

常見的sql操作語句有:

insert(增) update(改) delete(刪除) select(查) where (條件限定關鍵字)

/*例:下文將創建一個基本的sql操作語句*/
----創建數據表
createtableA(keyIdint,namevarchar(20))
go
----使用insert新增數據
insertintoA(keyId,name)values(1,'a')
insertintoA(keyId,name)values(2,'b')
insertintoA(keyId,name)values(3,'c')
go
----使用update更新指定行數據
updateAsetname='test'wherekeyId=2
----使用delete刪除指定行數據
deletefromAwherekeyId=1
----使用select查詢數據
selectkeyId,namefromA
go
truncatetableA---清除當前測試表數據
droptableA---刪除測試表結構

SQL其它連接關鍵字使用:

join 連接關鍵字:

可以通過join 關鍵字將兩張及多張表進行連接,然後通過相應的查詢條件返回連接後的集合

createtableA(keyIdintprimarykey,infovarchar(60),writeDatedatetime)
insertintoAvalues
(1,'a','2017-1-1'),
(2,'b','2017-1-2'),
(3,'c','2017-1-3')
go
createtableB(keyId2int,info2varchar(60),writeDate2datetime)
insertintoBvalues
(11,'a','2017-1-1'),
(2,'b','2017-1-2'),
(2,'b2','2017-12-2'),
(13,'c','2017-1-3'),
(1,'a2','2017-1-1')
go
/*單欄位左連接進行笛卡爾運算*/
select*fromAleftjoinBona.keyId=b.keyId2
go
/*多欄位左連接進行笛卡爾運算*/
select*fromAleftjoinBona.keyId=b.keyId2andA.info=b.info2
go
truncatetableA
droptableA
truncatetableB
droptableB

SQL控制關鍵字:

sql 腳本中常用的關鍵字還有 while for if else do while 等控制語句。

SQL語句:

綜上所述SQL語句是由sql關鍵字和SQL對象名組合成sql代碼。

『伍』 SQL 語言是一種標準的資料庫語言,包括哪四部分功能

SQL包括了所有對資料庫的操作,主要是由4個部分組成:
1.數據定義:這一部分又稱為「SQL DDL」,定義資料庫的邏輯結構,包括定義資料庫、基本表、視圖和索引4部分。
2.數據操縱:這一部分又稱為「SQL DML」,其中包括數據查詢和數據更新兩大類操作,其中數據更新又包括插入、刪除和更新三種操作。
3.數據控制:對用戶訪問數據的控制有基本表和視圖的授權、完整性規則的描述,事務控制語句等。
4.嵌入式SQL語言的使用規定:規定SQL語句在宿主語言的程序中使用的規則。

『陸』 SQL基礎教程的目錄

1.1運行SQL程序
1.2Microsoft Access
1.3Microsoft SQL Server
1.3.1SQL Server 2000
1.3.2SQL Server 2005/2008
1.4Oracle
1.5IBM DB2
1.6MySQL
1.7PostgreSQL 2.1表、列和行
2.1.1表
2.1.2列
2.1.3行
2.2主鍵
2.3外鍵
2.4聯系
2.4.1一對一
2.4.2一對多
2.4.3多對多
2.5規范化
2.5.1第一範式
2.5.2第二範式
2.5.3第三範式
2.5.4其他範式
2.6示例資料庫
2.6.1表authors
2.6.2表publishers
2.6.3表titles
2.6.4表titles_authors
2.6.5表royalties
2.7創建示例資料庫 3.1SQL語法
3.2SQL標准和一致性
3.3標識符
3.4數據類型
3.5字元串類型
3.6二進制大型對象類型
3.7精確數字類型
3.8近似數字類型
3.9布爾類型
3.10日期和時間類型
3.11時間間隔類型
3.12唯一標識符
3.13其他數據類型
3.14空值 4.1使用SELECT和FROM檢索列
4.2使用AS創建列的別名
4.3使用DISTINCT消除重復的行
4.4使用ORDER BY排序行
4.5使用WHERE篩選行
4.6使用AND、OR和NOT組合及求反條件
4.6.1AND操作符
4.6.2OR操作符
4.6.3NOT操作符
4.6.4AND、OR和NOT一起使用
4.7使用LIKE匹配模式
4.8使用BETWEEN進行范圍篩選
4.9使用IN進行列表篩選
4.10使用IS NULL測試空值 5.1創建派生列
5.2執行算術運算
5.3確定計算的順序
5.4使用||連接串
5.5使用SUBSTRING()提取子串
5.6使用UPPER()和LOWER()更改串的大小寫
5.7使用TRIM()修整字元
5.8使用CHARACTER_LENGTH()得到串長度
5.9使用POSITION()查找子串
5.10執行日期及時間間隔運算
5.11獲得當前日期和時間
5.12獲得用戶信息
5.13使用CAST()轉換數據類型
5.14使用CASE計算條件值
5.15使用COALESCE()檢查空值
5.16使用NULLIF()比較表達式 6.1使用聚合函數
6.2創建聚合表達式
6.3使用MIN()查找最小值
6.4使用MAX()查找最大值
6.5使用SUM()計算總和
6.6使用AVG()計算平均值
6.7使用COUNT()統計行數
6.8使用DISTINCT聚合不重復的值
6.9使用GROUP BY分組行
6.10使用HAVING篩選分組 7.1限定列名
7.2使用AS創建表的別名
7.3使用聯結
7.4使用JOIN或WHERE創建聯結
7.5使用CROSS JOIN創建交叉聯結
7.6使用NATURAL JOIN創建自然聯結
7.7使用INNER JOIN創建內聯結
7.8使用OUTER JOIN創建外聯結
7.9創建自聯結 8.1理解子查詢
8.2子查詢語法
8.3子查詢和聯結
8.4簡單子查詢和相關子查詢
8.4.1簡單子查詢
8.4.2相關子查詢
8.5在子查詢中限定列名
8.6子查詢中的空值
8.7使用子查詢作為列表達式
8.8使用比較操作符比較子查詢的值
8.9使用IN測試集合成員資格
8.10使用ALL比較所有子查詢的值
8.11使用ANY比較某些子查詢的值
8.12使用EXISTS檢測存在性
8.13比較等價查詢 9.1使用UNION合並行
9.2使用INTERSECT查找相同行
9.3使用EXCEPT查找不同行 10.1顯示表結構
10.2使用INSERT插入行
10.3使用UPDATE更新行
10.4使用DELETE刪除行 11.1創建表
11.2理解約束
11.3使用CREATE TABLE創建新表
11.4使用NOT NULL禁止空值
11.5使用DEFAULT確定默認值
11.6使用PRIMARY KEY指定主鍵
11.7使用FOREIGN KEY指定外鍵
11.8使用UNIQUE確保值唯一
11.9使用CHECK創建檢查約束
11.10使用CREATE TEMPORARY TABLE創建臨時表
11.11使用CREATE TABLE AS利用已存在表創建新表
11.12使用ALTER TABLE修改表
11.13使用DROP TABLE刪除表 12.1使用CREATE INDEX創建索引
12.2使用DROP INDEX刪除索引 13.1使用CREATE VIEW創建視圖
13.2通過視圖檢索數據
13.3通過視圖修改數據
13.3.1通過視圖插入行
13.3.2通過視圖更新行
13.3.3通過視圖刪除行
13.4使用DROP VIEW刪除視圖 15.1動態統計
15.2產生序列
15.3發現等差數列、遞增數列和等值數列
15.4限定返回行的數量
15.4.1Microsoft Access
15.4.2Microsoft SQL Server
15.4.3Oracle
15.4.4IBM DB2
15.4.5MySQL
15.4.6PostgreSQL
15.5分配排名
15.6計算修整均值
15.7隨機選取行
15.8處理重復值
15.9創建電話列表
15.10檢索元數據
15.10.1Microsoft Access
15.10.2Microsoft SQL Server
15.10.3Oracle
15.10.4IBM DB2
15.10.5MySQL
15.10.6PostgreSQL
15.11處理日期
15.11.1Microsoft Access
15.11.2Microsoft SQL Server
15.11.3Oracle
15.11.4IBM DB2
15.11.5MySQL
15.11.6PostgreSQL
15.12計算中值
15.13查詢極值
15.14改變動態統計的中流
15.15旋轉結果
15.16處理層次結構
索引

『柒』 精通SQL——結構化查詢語言詳解(第2版)課件下載

http://58.251.57.206/down?cid=&t=2&fmt=&usrinput=結構化查詢語言詳解&dt=0&ps=0_0&rt=0kbs&plt=0

『捌』 簡單SQL查詢語言想溫習一下!有沒有現成的好的課件或文擋

sql常用語句以及函數

Transact SQL 語 句 功 能
--數據操作

SELECT --從資料庫表中檢索數據行和列
INSERT --向資料庫表添加新數據行
DELETE --從資料庫表中刪除數據行
UPDATE --更新資料庫表中的數據

--數據定義

CREATE TABLE --創建一個資料庫表
DROP TABLE --從資料庫中刪除表
ALTER TABLE --修改資料庫表結構
CREATE VIEW --創建一個視圖
DROP VIEW --從資料庫中刪除視圖
CREATE INDEX --為資料庫表創建一個索引
DROP INDEX --從資料庫中刪除索引
CREATE PROCEDURE --創建一個存儲過程
DROP PROCEDURE --從資料庫中刪除存儲過程
CREATE TRIGGER --創建一個觸發器
DROP TRIGGER --從資料庫中刪除觸發器
CREATE SCHEMA --向資料庫添加一個新模式
DROP SCHEMA --從資料庫中刪除一個模式
CREATE DOMAIN --創建一個數據值域
ALTER DOMAIN --改變域定義
DROP DOMAIN --從資料庫中刪除一個域

--數據控制

GRANT --授予用戶訪問許可權
DENY --拒絕用戶訪問
REVOKE --解除用戶訪問許可權

--事務控制

COMMIT --結束當前事務
ROLLBACK --中止當前事務
SET TRANSACTION --定義當前事務數據訪問特徵

--程序化SQL

DECLARE --為查詢設定游標
EXPLAN --為查詢描述數據訪問計劃
OPEN --檢索查詢結果打開一個游標
FETCH --檢索一行查詢結果
CLOSE --關閉游標
PREPARE --為動態執行准備SQL 語句
EXECUTE --動態地執行SQL 語句
DESCRIBE --描述准備好的查詢

---局部變數

declare @id char(10)
--set @id = ''10010001''
select @id = ''10010001''

---全局變數

---必須以@@開頭

--IF ELSE

declare @x int @y int @z int
select @x = 1 @y = 2 @z=3
if @x > @y
print ''x > y'' --列印字元串''x > y''
else if @y > @z
print ''y > z''
else print ''z > y''
--CASE
use pangu
update employee
set e_wage =
case
when job_level = 』1』 then e_wage*1.08
when job_level = 』2』 then e_wage*1.07
when job_level = 』3』 then e_wage*1.06
else e_wage*1.05
end
--WHILE CONTINUE BREAK
declare @x int @y int @c int
select @x = 1 @y=1
while @x < 3
begin
print @x --列印變數x 的值
while @y < 3
begin
select @c = 100*@x + @y
print @c --列印變數c 的值
select @y = @y + 1
end
select @x = @x + 1
select @y = 1
end
--WAITFOR

--例 等待1 小時2 分零3 秒後才執行SELECT 語句

waitfor delay 』01:02:03』
select * from employee

--例 等到晚上11 點零8 分後才執行SELECT 語句

waitfor time 』23:08:00』

http://blog.lwe.cn/user1/yqjsl/archives/2006/520.html

一、 簡單查詢

簡單的Transact-SQL查詢只包括選擇列表、FROM子句和WHERE子句。它們分別說明所查詢列、查詢的表或視圖、以及搜索條件等。

例如,下面的語句查詢testtable表中姓名為「張三」的nickname欄位和email欄位。

SELECT nickname,email
FROM testtable
WHERE name='張三'
(一) 選擇列表

選擇列表(select_list)指出所查詢列,它可以是一組列名列表、星號、表達式、變數(包括局部變數和全局變數)等構成。

1、選擇所有列

例如,下面語句顯示testtable表中所有列的數據:

SELECT *
FROM testtable
2、選擇部分列並指定它們的顯示次序

查詢結果集合中數據的排列順序與選擇列表中所指定的列名排列順序相同。

例如:

SELECT nickname,email
FROM testtable
3、更改列標題

在選擇列表中,可重新指定列標題。定義格式為:

列標題=列名
列名 列標題

如果指定的列標題不是標準的標識符格式時,應使用引號定界符,例如,下列語句使用漢字顯示列標題:

SELECT 昵稱=nickname,電子郵件=email
FROM testtable
4、刪除重復行

SELECT語句中使用ALL或DISTINCT選項來顯示表中符合條件的所有行或刪除其中重復的數據行,默認為ALL。使用DISTINCT選項時,對於所有重復的數據行在SELECT返回的結果集合中只保留一行。

5、限制返回的行數

使用TOP n [PERCENT]選項限制返回的數據行數,TOP n說明返回n行,而TOP n PERCENT時,說明n是表示一百分數,指定返回的行數等於總行數的百分之幾。

例如:

SELECT TOP 2 *FROM testtable SELECT TOP 20 PERCENT * FROM testtable

(二)FROM子句

FROM子句指定SELECT語句查詢及與查詢相關的表或視圖。在FROM子句中最多可指定256個表或視圖,它們之間用逗號分隔。

在FROM子句同時指定多個表或視圖時,如果選擇列表中存在同名列,這時應使用對象名限定這些列所屬的表或視圖。例如在usertable和citytable表中同時存在cityid列,在查詢兩個表中的cityid時應使用下面語句格式加以限定:

SELECT username,citytable.cityid
FROM usertable,citytable
WHERE usertable.cityid=citytable.cityid
在FROM子句中可用以下兩種格式為表或視圖指定別名:

表名 as 別名
表名 別名

(二) FROM子句

FROM子句指定SELECT語句查詢及與查詢相關的表或視圖。在FROM子句中最多可指定256個表或視圖,它們之間用逗號分隔。

在FROM子句同時指定多個表或視圖時,如果選擇列表中存在同名列,這時應使用對象名限定這些列所屬的表或視圖。例如在usertable和citytable表中同時存在cityid列,在查詢兩個表中的cityid時應使用下面語句格式加以限定:

SELECT username,citytable.cityid
FROM usertable,citytable
WHERE usertable.cityid=citytable.cityid
在FROM子句中可用以下兩種格式為表或視圖指定別名:

表名 as 別名
表名 別名

例如上面語句可用表的別名格式表示為:

SELECT username,b.cityid
FROM usertable a,citytable b
WHERE a.cityid=b.cityid
SELECT不僅能從表或視圖中檢索數據,它還能夠從其它查詢語句所返回的結果集合中查詢數據。

例如:

SELECT a.au_fname+a.au_lname
FROM authors a,titleauthor ta
(SELECT title_id,title
FROM titles
WHERE ytd_sales>10000
) AS t
WHERE a.au_id=ta.au_id
AND ta.title_id=t.title_id
此例中,將SELECT返回的結果集合給予一別名t,然後再從中檢索數據。

(三) 使用WHERE子句設置查詢條件

WHERE子句設置查詢條件,過濾掉不需要的數據行。例如下面語句查詢年齡大於20的數據:

SELECT *
FROM usertable
WHERE age>20
WHERE子句可包括各種條件運算符:

比較運算符(大小比較):>、>=、=、<、<=、<>、!>、!<
范圍運算符(表達式值是否在指定的范圍):BETWEEN…AND…
NOT BETWEEN…AND…
列表運算符(判斷表達式是否為列表中的指定項):IN (項1,項2……)
NOT IN (項1,項2……)
模式匹配符(判斷值是否與指定的字元通配格式相符):LIKE、NOT LIKE
空值判斷符(判斷表達式是否為空):IS NULL、NOT IS NULL
邏輯運算符(用於多條件的邏輯連接):NOT、AND、OR

1、范圍運算符例:age BETWEEN 10 AND 30相當於age>=10 AND age<=30

2、列表運算符例:country IN ('Germany','China')

3、模式匹配符例:常用於模糊查找,它判斷列值是否與指定的字元串格式相匹配。可用於char、varchar、text、ntext、datetime和smalldatetime等類型查詢。

可使用以下通配字元:

百分號%:可匹配任意類型和長度的字元,如果是中文,請使用兩個百分號即%%。

下劃線_:匹配單個任意字元,它常用來限製表達式的字元長度。

方括弧[]:指定一個字元、字元串或范圍,要求所匹配對象為它們中的任一個。[^]:其取值也[] 相同,但它要求所匹配對象為指定字元以外的任一個字元。

例如:

限制以Publishing結尾,使用LIKE '%Publishing'

限制以A開頭:LIKE '[A]%'

限制以A開頭外:LIKE '[^A]%'

4、空值判斷符例WHERE age IS NULL

5、邏輯運算符:優先順序為NOT、AND、OR

(四)查詢結果排序

使用ORDER BY子句對查詢返回的結果按一列或多列排序。ORDER BY子句的語法格式為:

ORDER BY {column_name [ASC|DESC]} [,…n]

其中ASC表示升序,為默認值,DESC為降序。ORDER BY不能按ntext、text和image數據類型進行排序。

例如:

SELECT *
FROM usertable
ORDER BY age desc,userid ASC
另外,可以根據表達式進行排序。

二、 聯合查詢

UNION運算符可以將兩個或兩個以上上SELECT語句的查詢結果集合合並成一個結果集合顯示,即執行聯合查詢。UNION的語法格式為:

select_statement
UNION [ALL] selectstatement
[UNION [ALL] selectstatement][…n]
其中selectstatement為待聯合的SELECT查詢語句。

ALL選項表示將所有行合並到結果集合中。不指定該項時,被聯合查詢結果集合中的重復行將只保留一行。

聯合查詢時,查詢結果的列標題為第一個查詢語句的列標題。因此,要定義列標題必須在第一個查詢語句中定義。要對聯合查詢結果排序時,也必須使用第一查詢語句中的列名、列標題或者列序號。

在使用UNION 運算符時,應保證每個聯合查詢語句的選擇列表中有相同數量的表達式,並且每個查詢選擇表達式應具有相同的數據類型,或是可以自動將它們轉換為相同的數據類型。在自動轉換時,對於數值類型,系統將低精度的數據類型轉換為高精度的數據類型。

在包括多個查詢的UNION語句中,其執行順序是自左至右,使用括弧可以改變這一執行順序。例如:

查詢1 UNION (查詢2 UNION 查詢3)

三、連接查詢

通過連接運算符可以實現多個表查詢。連接是關系資料庫模型的主要特點,也是它區別於其它類型資料庫管理系統的一個標志。

在關系資料庫管理系統中,表建立時各數據之間的關系不必確定,常把一個實體的所有信息存放在一個表中。當檢索數據時,通過連接操作查詢出存放在多個表中的不同實體的信息。連接操作給用戶帶來很大的靈活性,他們可以在任何時候增加新的數據類型。為不同實體創建新的表,爾後通過連接進行查詢。

連接可以在SELECT 語句的FROM子句或WHERE子句中建立,似是而非在FROM子句中指出連接時有助於將連接操作與WHERE子句中的搜索條件區分開來。所以,在Transact-SQL中推薦使用這種方法。

SQL-92標准所定義的FROM子句的連接語法格式為:

FROM join_table join_type join_table
[ON (join_condition)]
其中join_table指出參與連接操作的表名,連接可以對同一個表操作,也可以對多表操作,對同一個表操作的連接又稱做自連接。

join_type 指出連接類型,可分為三種:內連接、外連接和交叉連接。內連接(INNER JOIN)使用比較運算符進行表間某(些)列數據的比較操作,並列出這些表中與連接條件相匹配的數據行。根據所使用的比較方式不同,內連接又分為等值連接、自然連接和不等連接三種。外連接分為左外連接(LEFT OUTER JOIN或LEFT JOIN)、右外連接(RIGHT OUTER JOIN或RIGHT JOIN)和全外連接(FULL OUTER JOIN或FULL JOIN)三種。與內連接不同的是,外連接不只列出與連接條件相匹配的行,而是列出左表(左外連接時)、右表(右外連接時)或兩個表(全外連接時)中所有符合搜索條件的數據行。

交叉連接(CROSS JOIN)沒有WHERE 子句,它返回連接表中所有數據行的笛卡爾積,其結果集合中的數據行數等於第一個表中符合查詢條件的數據行數乘以第二個表中符合查詢條件的數據行數。

連接操作中的ON (join_condition) 子句指出連接條件,它由被連接表中的列和比較運算符、邏輯運算符等構成。

無論哪種連接都不能對text、ntext和image數據類型列進行直接連接,但可以對這三種列進行間接連接。例如:

SELECT p1.pub_id,p2.pub_id,p1.pr_info
FROM pub_info AS p1 INNER JOIN pub_info AS p2
ON DATALENGTH(p1.pr_info)=DATALENGTH(p2.pr_info)
(一)內連接

內連接查詢操作列出與連接條件匹配的數據行,它使用比較運算符比較被連接列的列值。內連接分三種:

1、等值連接:在連接條件中使用等於號(=)運算符比較被連接列的列值,其查詢結果中列出被連接表中的所有列,包括其中的重復列。

2、不等連接: 在連接條件使用除等於運算符以外的其它比較運算符比較被連接的列的列值。這些運算符包括>、>=、<=、<、!>、!<和<>。

3、自然連接:在連接條件中使用等於(=)運算符比較被連接列的列值,但它使用選擇列表指出查詢結果集合中所包括的列,並刪除連接表中的重復列。

例,下面使用等值連接列出authors和publishers表中位於同一城市的作者和出版社:

SELECT *
FROM authors AS a INNER JOIN publishers AS p
ON a.city=p.city
又如使用自然連接,在選擇列表中刪除authors 和publishers 表中重復列(city和state):

SELECT a.*,p.pub_id,p.pub_name,p.country
FROM authors AS a INNER JOIN publishers AS p
ON a.city=p.city
(二)外連接

內連接時,返回查詢結果集合中的僅是符合查詢條件( WHERE 搜索條件或 HAVING 條件)和連接條件的行。而採用外連接時,它返回到查詢結果集合中的不僅包含符合連接條件的行,而且還包括左表(左外連接時)、右表(右外連接時)或兩個邊接表(全外連接)中的所有數據行。如下面使用左外連接將論壇內容和作者信息連接起來:

SELECT a.*,b.* FROM luntan LEFT JOIN usertable as b
ON a.username=b.username

下面使用全外連接將city表中的所有作者以及user表中的所有作者,以及他們所在的城市:

SELECT a.*,b.*
FROM city as a FULL OUTER JOIN user as b
ON a.username=b.username
(三)交叉連接

交叉連接不帶WHERE 子句,它返回被連接的兩個表所有數據行的笛卡爾積,返回到結果集合中的數據行數等於第一個表中符合查詢條件的數據行數乘以第二個表中符合查詢條件的數據行數。例,titles表中有6類圖書,而publishers表中有8家出版社,則下列交叉連接檢索到的記錄數將等

於6*8=48行。

SELECT type,pub_name
FROM titles CROSS JOIN publishers
ORDER BY type
[Post=0][/Post]
http://www.gogoemule.com/Homepage/2006-9-20/SQL_ptkg426.html
自己搜搜吧!

『玖』 SQL語言SQL語言SQL語言SQL語言

同學,這屬於最基本的資料庫知識就可以完成的內容找找課件吧!

『拾』 如何學習 SQL 語言

方法/步驟
1
首先要安裝一個sqlserver2000的資料庫,確保自己在學習理論知識的同時,做到實踐動手能力同時提高。
2
資料庫的增、刪。
創建資料庫
CREATE DATABASE database-name
刪除資料庫
DROP database dbname
3
資料庫表的增、刪。
創建表:create table table_name(
查看錶:desc table_name;
重命名:alter table table_name rename to new table_name;
刪除表:drop table table_name;
截斷表:truncate table table_name;
修改表:
刪除表中的內容:delete from table_name;
添加列:alter table table_name add column_name;
刪除列:alter table table_name drop column
4
插入數據:
insert into table(column1, column2,...)
valus(column1_value,column2_value,...)
修改數據:
update employees set column_name= 'new colunm_name'
where empno= 3432;
刪除數據:
delete
from emp
where empno>=7500 and empno<=8000;
查詢數據:
select *from table_name;
5
模糊查詢:
like(模式匹配,檢驗一個包含字元串數據的欄位值是否匹配一指定模式。
not like:(模式不匹配)
_: 任何一個單一的字元
%:任意長度的字元
SQL> select empno from emp where ename like '_M%';
SQL> select empno,ename,job from emp where job like 'A%';
SQL> select empno,ename,job from emp w