當前位置:首頁 » 編程語言 » 總結sql

總結sql

發布時間: 2022-09-04 03:28:20

1. sql中join的幾種常見用法總結

JOIN連接組合兩個表中的欄位記錄,包括三種:
INNERJOIN運算式:連接組合兩個表中的欄位記錄。

LEFTJOIN運算式:連接組合兩個表中的欄位記錄,並將包含了LEFTJOIN左邊表中的全部記錄。

RIGHTJOIN運算式:連接組合兩個表中的欄位記錄,並將包含了RIGHTJOIN右邊表中的全部記錄。


INNERJOIN設定兩個表相關連的運算式,以連接組合兩個表中的欄位記錄。

INNERJOIN語法如下:

FROM表1INNERJOIN表2ON表1.欄位1比較運運算元表2.欄位2

兩個表連接的欄位,譬如[表1.欄位1=表2.欄位2],必須具有相同的欄位類型,但是欄位名稱不需要相同。

例如,自動編號欄位類型可以連接Long的欄位類型,但是單精整數欄位類型不能連接雙精整數的欄位類型。

比較運運算元可為=、<、>、<=、>=、或<>。

JOIN連接的欄位,不可以包含MEMO欄位類型或OLE對象類型,否則會發生錯誤。

在一個JOIN表達式中,可以連結多個ON子句:

SELECTfields
FROM表1INNERJOIN表2
ON表1.欄位1比較運運算元表2.欄位1AND
ON表1.欄位2比較運運算元表2.欄位2)OR
ON表1.欄位3比較運運算元表2.欄位3)

JOIN表達式中,可以為巢狀式:

SELECTfields
FROM表1INNERJOIN
(表2INNERJOIN[(]表3
[INNERJOIN[(]表x[INNERJOIN...)]
ON表3.欄位3比較運運算元表x.欄位x)]
ON表2.欄位2比較運運算元表3.欄位3)
ON表1.欄位1比較運運算元表2.欄位2

在一個INNERJOIN中,可以包括巢狀式的LEFTJOIN或RIGHTJOIN,但是在一個LEFTJOIN或RIGHTJOIN中不能包括巢狀式的INNERJOIN。

2. MySQL中SQL模式的特點總結

前言
SQL模式影響MySQL支持的SQL語法和執行的數據驗證檢查。
MySQL伺服器可以在不同的SQL模式下運行,並且可以針對不同的客戶端以不同的方式應用這些模式,具體取決於sql_mode系統變數的值。DBA可以設置全局SQL模式以匹配站點伺服器操作要求,並且每個應用程序可以將其會話SQL模式設置為其自己的要求。
模式會影響MySQL支持的SQL語法以及它執行的數據驗證檢查。這使得在不同環境中使用MySQL以及將MySQL與其他資料庫伺服器一起使用變得更加容易。
下面話不多說了,來一起看看詳細的介紹吧
設置SQL模式
要在運行時更改SQL模式,請sql_mode使用以下SET
語句設置全局或會話
系統變數
SET
GLOBAL
sql_mode
=
'modes';
SET
SESSION
sql_mode
=
'modes';
模式列表
模式
注釋
ALLOW_INVALID_DATES
無效日期會生成錯誤
ERROR_FOR_DIVISION_BY_ZERO
除0錯誤
NO_BACKSLASH_ESCAPES
禁止使用反斜杠字元(\)作為字元串中的轉義字元。啟用此模式後,反斜杠就像其他任何一個普通字元一樣。
NO_UNSIGNED_SUBTRACTION
在整數值之間減去(其中一個是類型)
UNSIGNED,默認情況下會產生無符號結果。如果結果否則為負,則會導致錯誤
NO_ZERO_IN_DATE
'0000-00-00'
則允許並且插入產生警告
ONLY_FULL_GROUP_BY
select
內指定欄位必須出現在
groupby
中,否則錯誤
STRICT_TRANS_TABLES
為事務存儲引擎啟用嚴格的SQL模式,並在可能的情況下為非事務性存儲引擎啟用。
STRICT_ALL_TABLES
為所有存儲引擎啟用嚴格SQL模式。無效的數據值被拒絕。
詳情請參考
https://dev.mysql.com/doc/ref...
嚴格SQL模式
MySQL伺服器可以在不同的SQL模式下運行,並且可以針對不同的客戶端以不同的方式應用這些模式,具體取決於sql_mode系統變數的值。在嚴格SQL模式下,伺服器會將某些警告升級為錯誤。
嚴格SQL模式適用於以下語句
ALTER
TABLE
CREATE
TABLE
CREATE
TABLE
...
SELECT
DELETE
INSERT
LOAD
DATA
LOAD
XML
SELECT
SLEEP()
UPDATE
在存儲的程序中,如果在嚴格模式生效時定義了程序,則列出的類型的單個語句將以嚴格的SQL模式執行。
嚴格的SQL模式適用於以下錯誤,表示輸入值無效或缺失的一類錯誤。如果值具有錯誤的列數據類型或可能超出范圍,則該值無效。如果要插入的新行不包含其定義中NOT
NULL沒有顯式DEFAULT子句的列的值,則缺少值。
ER_BAD_NULL_ERROR
ER_CUT_VALUE_GROUP_CONCAT
ER_DATA_TOO_LONG
ER_DATETIME_FUNCTION_OVERFLOW
ER_DIVISION_BY_ZERO
ER_INVALID_ARGUMENT_FOR_LOGARITHM
ER_NO_DEFAULT_FOR_FIELD
ER_NO_DEFAULT_FOR_VIEW_FIELD
ER_TOO_LONG_KEY
ER_TRUNCATED_WRONG_VALUE
ER_TRUNCATED_WRONG_VALUE_FOR_FIELD
ER_WARN_DATA_OUT_OF_RANGE
ER_WARN_NULL_TO_NOTNULL
ER_WARN_TOO_FEW_RECORDS
ER_WRONG_ARGUMENTS
ER_WRONG_VALUE_FOR_TYPE
WARN_DATA_TRUNCATED
致謝
感謝你看到這里,希望本篇文章可以幫到你,謝謝。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
您可能感興趣的文章:如何開啟mysql中的嚴格模式學習SQL語句(強大的group
by與select
from模式)老生常談MYSQL模式匹配
REGEXP和like的用法Mysql
SQL伺服器模式介紹PHP基於單例模式實現的mysql類NoSQL反模式
-
文檔資料庫篇mysql中binlog_format模式與配置詳細分析mysql啟用skip-name-resolve模式時出現Warning的處理辦法

3. SQL語言學習總結

SQL語言學習總結

總結就是把一個時間段取得的成績、存在的問題及得到的經驗和教訓進行一次全面系統的總結的書面材料,它能夠給人努力工作的動力,讓我們來為自己寫一份總結吧。總結你想好怎麼寫了嗎?下面是我為大家整理的SQL語言學習總結,供大家參考借鑒,希望可以幫助到有需要的朋友。

暑假過的真快總感覺昨天才剛放假,還想著這個暑假怎麼過時,暑假就已經去了。

這個暑假一開始我們看了浙大的sql的視頻,老師給我們的要求是只要看一遍就行。剛開始看的時候還能聽懂一些,看到後面的時候基本就聽不懂了,幸好老師對我們的要求不高,於時只好硬著頭皮繼續。

sql的視頻其實總的說來無非講的是對資料庫、表、欄位等的創建、修改和刪除。我們不懂的也就是怎樣使用代碼來實現這些操作。我們現在只要對這些有了解就夠了,以後還會有鍛煉機會的。

之後我們參照著原代碼做了《學生信息管理系統》,大概用了七天的`時間。剛開始做的時候,覺得這個工程肯定會挺復雜的。但是做著做著感覺也就是那麼回事。無非就是對幾張表的操作。做這個工程最大的收獲就是對剛學的sql知識有了一次熟練的機會,鞏固了剛學的知識。也可以說是趁熱打鐵吧。

然後米老師給了我們更大的考驗,讓我們做《機房收費系統》,而且這次和上一次的《學生信息管理系統》不同的是,這次我們除了只有一個程序和資料庫外,沒有一個字的原碼。

在得知我們可以把這次的工程做成任何樣子時,我打算做一個類似於網吧那樣的收費系統。也是一個cs系統。在網上查了一些主機如何與客戶端通信的資料後,就開工了。雖然遇到了一些困難,但是到最後都一一解決了

這三次的學習困難程度可以說是一次比一次高,米老師也是用心良苦呀。

經過這個暑假,對sql已經有了深一步的了解,還有就是將米老師的學習方法又應用了一次。可謂是受益匪淺。

現在軟體工程的學習已經開始,我會繼續努力的。

;

4. sql語言的分類有

SQL語句分類

如大家所知 sql語句被分為四大類:

  • 數據定義語言DDL

  • 數據查詢語言DQL

  • 數據操縱語言DML

  • 數據控制功能DCL

相信大多數人都對SQL有一定的了解 我這里就不細講具體內容 簡單介紹一下具體內容 方便理解

數據定義語言DDL(Data Definition Language)

CREATE,DROP,ALTER

主要為以上操作 即對邏輯結構等有操作的,其中包括表結構,視圖和索引。

數據查詢語言DQL(Data Query Language)

SELECT

這個較為好理解 即查詢操作,以select關鍵字。各種簡單查詢,連接查詢等 都屬於DQL。

數據操縱語言DML(Data Manipulation Language)

INSERT,UPDATE,DELETE

主要為以上操作 即對數據進行操作的,對應上面所說的查詢操作 DQL與DML共同構建了多數初級程序員常用的增刪改查操作。而查詢是較為特殊的一種 被劃分到DQL中。

數據控制功能DCL(Data Control Language)

GRANT,REVOKE,COMMIT,ROLLBACK

主要為以上操作 即對資料庫安全性完整性等有操作的,可以簡單的理解為許可權控制等。

以上即為簡單總結SQL的語句分類,希望對您有所幫助!~

更多學習視頻可以在B站搜索「前端愛好者聯盟」,或者直接點我。

5. SQL 日常工作總結

1.如何找出第二名?

#偏移法 limit offset(快)

#排除法 先找到最大值,再找小於最大值的數據中的最大值(慢)

2.日常固定搭配

#group by + having聚合函數做篩選只能用 having(快)

#group by + Where 做嵌套模式(慢)

3.#刪除表 用delete

4.#求氣溫比昨天高的日期

5.#mod 余數為1是基數,為0是偶數

6#求年齡

7#求本周過生日的學生

日期的運算

1、現有日期進行偏移(推薦)

date_sub(日期 ,要減少偏移的間隔)

date_sub(date,INTERVAL expr type)

date_add(日期 ,要增加偏移的間隔)

date_add(date,INTERVAL expr type)

expr 是要偏移的數值

type 是要偏移的方式

時間格式的轉換

1、字元串轉換為日期格式

str_to_date (時間字元串,字元串日期格式) :能夠把字元串轉換為標准日期格式

日期的格式

格式描述

%Y 年,4 位

%y年,2 位

%M英文名稱的月名(一月為January,二月為February)

%m 數值月份 (00-12)

%D帶有英文後綴的天(不太直觀)

%d 數值天 (00-31)

%H 小時 (00-23)

%h小時 (01-12)

%I小時 (01-12)

%i 分鍾,數值(00-59)

%S秒(00-59)

%s 秒(00-59)

%a英文縮寫星期名

%b英文縮寫月名

%c月,數值

%f微秒

%p顯示是 AM 還是 PM

%r顯示時分秒時間,12小時制(hh:mm:ss AM 或 PM)

%T顯示時分秒時間, 24小時制 (hh:mm:ss)

%j顯示當前日期是今年的第幾天 (001-366)

eg:

select str_to_date('08/09/2008', '%m/%d/%Y'); -- 2008-08-09

select str_to_date('08/09/08' , '%m/%d/%y'); -- 2008-08-09

select str_to_date('08.09.2008', '%m.%d.%Y'); -- 2008-08-09

select str_to_date('08:09:30', '%h:%i:%s'); -- 08:09:30

select str_to_date('08.09.2008 08:09:30', '%m.%d.%Y %h:%i:%s'); --2008-08-09 08:09:30

2、日期轉換為特殊字元串形式

date_format (日期,字元串格式):能夠把一個日期轉換為各種樣式的字元串

eg:

select date_format(now(),'%Y-%M-%d %H') ; -- 2020-May-23 17

select date_format('2020-02-03 13:45:06.676','%Y-%M-%D %I:%i:%S-%T') ; --2020-February-3rd 01:45:06-13:45:06

獲取當前時間

1、獲取年月日時分秒

now 函數:獲取當前時間信息

eg:select now();

sysdate 函數:

eg:select sysdate();

區別:

    now() 在執行開始時值就得到了;

    sysdate() 在函數執行時動態得到值。

eg:

    select now(), sleep(3),now();

    select sysdate(), sleep(3) , sysdate();

2、獲取年月日

current_date 函數

eg:

        select current_date();

        select curdate();

3、獲取時分秒

current_time 函數

eg:

        select current_time();

        select curtime();

日常工作需要用到Mysql數據分析的案例:

涉及表:

  orderinfo 訂單詳情表

    | orderid  訂單id

    | userid   用戶id

    | isPaid   是否支付

    | price    付款價格

    | paidTime 付款時間

  userinfo  用戶信息表

    | userid    用戶id

    | sex       用戶性別

    | birth     用戶出生日期

1、統計不同月份的下單人數

2、統計用戶三月份的回購率和復購率

復購率:當月購買了多次的用戶占當月用戶的比例

回購率:上月購買用戶中有多少用戶本月又再次購買

a、先篩選出3月份的消費情況

b、統計一下每個用戶在3月份消費了多少次

c、對購買次數做一個判斷,統計出來那些消費了多次(大於1次)的用戶數

本月回購率:本月購買用戶中有多少用戶下個月又再次購買

3月份的回購率=  3月用戶中4月又再次購買的人數 / 3月的用戶總數

a、統計每年每月的一個用戶消費情況

b、相鄰月份進行關聯,能關聯上的用戶說明就是回購

c、統計每個月份的消費人數情況及格得到回購率

3、統計男女用戶消費頻次是否有差異

1、統計每個用戶的消費次數,注意要帶性別

2、對性別做一個消費次數平均計算

4、統計多次消費的用戶,第一次和最後一次消費間隔是多少天

1、取出多次消費的用戶

2、取出第一次和最後一次的時間

5、統計不同年齡段,用戶的消費金額是否有差異

a、計算每個用戶的年齡,並對年齡進行分層:0-10:1,11-20:2,21-30:3

b、關聯訂單信息,獲取不同年齡段的一個消費頻次和消費金額

c、再對年齡分層進行聚合,得到不同年齡層的消費情況

6、統計消費的二八法則,消費的top20%用戶,貢獻了多少消費額

1、統計每個用戶的消費金額,並進行一個降序排序

2、統計一下一共有多少用戶,以及總消費金額是多少

3、取出前20%的用戶進行金額統計

6. 總結了幾個常用的sql server系統表的使用

1 sysobjects 表:包含數據有表對象、約束、聚集索引、主鍵、外鍵、存儲過程、函數等的相關信息
2.sysfiles:主要反應指定資料庫物理文件的佔用空間大小及文件增長率的相關設置情況
3.sys.sysprocesses 是mssql資料庫中一個非常重要的視圖,主要用於返回當前db伺服器中的運行中的進程ID
4.sys.stats簡介

sys.stats主要用於存放MSSQL資料庫中統計信息的統計,每條統計信息在sys.stats中都對應一行記錄
5.sys.dm_exec_procere_stats 主要用於獲取mssql自重新啟動以來,緩存中存儲過程中的運行情況
(
存儲過程自啟動以來執行涉及的邏輯讀次數
存儲過程自啟動以來平均邏輯讀次數
存儲過程自啟動以來執行次數
存儲過程自啟動以來運行耗時總時間
存儲過程自啟動以來平均運行耗時時間
存儲過程自啟動以來首次緩存時間
)
6.sys.proceres 表中記載指定資料庫所涉及的全部存儲過程,通過查詢此系統表可以獲取當前賬戶擁有查看許可權的存儲過程,
7.sys.messages 是系統表,裡面存儲過系統已經規劃好的錯誤信息列表
請看一看,如有疑問,及時溝通!

7. SQL多表查詢總結

連接查詢包括合並、內連接、外連接和交叉連接,如果涉及多表查詢,了解這些連接的特點很重要。
只有真正了解它們之間的區別,才能正確使用。

UNION 操作符用於合並兩個或多個 SELECT 語句的結果集。

UNION 運算符通過組合其他兩個結果表(例如 TABLE1 和 TABLE2)並消去表中任何重復行而派生出一個結果表。

當 ALL 隨 UNION 一起使用時(即 UNION ALL),不消除重復行。兩種情況下,派生表的每一行不是來自 TABLE1 就是來自 TABLE2。

注意:使用UNION時,兩張表查詢的結果有相同數量的列、列類型相似。

學生表信息(Students):

教師表信息(Teachers):

1)基本UNION查詢,查詢學校教師、學生的總的信息表,包括ID和姓名

查詢結果:

2)查詢教師學生全部姓名
因為UNION只會選擇不同的值,如果學生中和教師中有重名的情況,這就需要UNION ALL

查詢結果:

INNER JOIN(內連接),也成為自然連接

作用:根據兩個或多個表中的列之間的關系,從這些表中查詢數據。

注意⚠️: 內連接是從結果中刪除其他被連接表中沒有匹配行的所有行,所以內連接可能會丟失信息。

重點:內連接,只查匹配行。

語法:(INNER可省略)

學生表信息(Students):

專業信息表(Majors):

實例:查詢學生信息,包括ID,姓名、專業名稱

查詢結果:

根據結果可以清晰看到,確實只有匹配的行。學生Lucy的信息丟失了。

與內連接相比,即使沒有匹配行,也會返回一個表的全集。

外連接分為三種:左外連接,右外連接,全外連接。
對應SQL:LEFT/RIGHT/FULL OUTER JOIN。
通常我們省略outer 這個關鍵字。寫成:LEFT/RIGHT/FULL JOIN。

重點:至少有一方保留全集,沒有匹配行用NULL代替。

1、LEFT JOIN (左連接)

結果集保留左表的所有行,但只包含第二個表與第一表匹配的行。第二個表相應的空行被放入NULL值。

依然沿用內鏈接的例子:

(1)使用左連接查詢學生的信息,其中包括學生ID,學生姓名和專業名稱。

查詢結果:

通過結果,我們可以看到左連接包含了第一張表的所有信息,在第二張表中如果沒有匹配項,則用NULL代替。

2、RIGHT JOIN (右連接)

右外連接保留了第二個表的所有行,但只包含第一個表與第二個表匹配的行。第一個表相應空行被入NULL值。

右連接與左連接思想類似。只是第二張保留全集,如果第一張表中沒有匹配項,用NULL代替

依然沿用內鏈接的例子,只是改為右連接

(2)使用右連接查詢學生的信息,其中包括學生ID,學生姓名和專業名稱

查詢結果:

通過結果可以看到,包含了第二張表Majors的全集,Computer在Students表中沒有匹配項,就用NULL代替。

3、FULL JOIN (全連接)

會把兩個表所有的行都顯示在結果表中

3)使用全連接查詢學生的信息,其中包括學生ID,學生姓名和專業名稱。

查詢結果:

包含了兩張表的所有記錄,沒有記錄丟失,沒有匹配的行用NULL代替。

4、CROSS JOIN(交叉連接)

交叉連接。交叉連接返回左表中的所有行,左表中的每一行與右表中的所有行組合。交叉連接也稱作笛卡爾積。

簡單查詢兩張表組合,這是求笛卡兒積,效率最低。

笛卡兒積:笛卡爾乘積,也叫直積。假設集合A={a,b},集合B={0,1,2},則兩個集合的笛卡爾積為{(a,0),(a,1),(a,2),(b,0),(b,1), (b,2)}。可以擴展到多個集合的情況。類似的例子有,如果A表示某學校學生的集合,B表示該學校所有課程的集合,則A與B的笛卡爾積表示所有可能的選課情況。

4)交叉連接查詢學生的信息,其中包括學生ID,學生姓名和專業名稱。

查詢結果:

5)查詢多表,其實也是笛卡兒積,與CROSS JOIN等價,以下查詢同上述結果一樣。

這個可能很常見,但是大家一定要注意了,這樣就查詢了兩張表中所有組合的全集。

查詢結果:

6)增加查詢條件

注意:在使用CROSS JOIN關鍵字交叉連接表時,因為生成的是兩個表的笛卡爾積,因而不能使用ON關鍵字,只能在WHERE子句中定義搜索條件。

查詢結果:

查詢結果與INNER JOIN一樣,但是其效率就慢很多了。

8. 6條比較有用的MySQL資料庫操作的SQL語句小結

在MySQL資料庫操作中,我們常常編寫一些SQL語句來實現自己想要的功能。但是對於初學MySQL資料庫的人來說這似乎又有一定的難度。本文我們總結了六條比較有用的SQL語句,初學者可以套用下面的格式,接下來就讓我們一起來了解一下這部分內容。
1.計算年數
如果您想通過生日來計算這個人的年齡,可以用以下的語句來實現:
SELECT
DATE_FORMAT(FROM_DAYS(TO_DAYS(now())
-
TO_DAYS(@dateofbirth)),
'%Y')
+
0;
2.兩個時間的差
取得兩個
datetime
值的差。假設
dt1

dt2

datetime
類型,其格式為
『yyyy-mm-dd
hh:mm:ss',那麼它們之間所差的秒數為:UNIX_TIMESTAMP(
dt2
)
-
UNIX_TIMESTAMP(
dt1
)
除以60就是所差的分鍾數,除以3600就是所差的小時數,再除以24就是所差的天數。
3.顯示某一列出現過N次的值
SELECT
id
FROM
tbl
GROUP
BY
id
HAVING
COUNT(*)
=
N;
4.計算兩個日子間的工作日
所謂工作日就是除出周六周日和節假日。
SELECT
COUNT(*)
FROM
calendar
WHERE
d
BETWEEN
Start
AND
Stop
AND
DAYOFWEEK(d)
NOT
IN(1,7)
AND
holiday=0;
5.查找表中的主鍵
SELECT
k.column_name
FROM
information_schema.table_constraints
t
JOIN
information_schema.key_column_usage
k
USING
(constraint_name,table_schema,table_name)
WHERE
t.constraint_type='PRIMARY
KEY'
AND
t.table_schema='db'
AND
t.table_name=tbl'
6.查看你的數庫有多大
SELECT
table_schema
AS
'Db
Name',
Round(
Sum(
data_length
+
index_length
)
/
1024
/
1024,
3
)
AS
'Db
Size
(MB)',
Round(
Sum(
data_free
)
/
1024
/
1024,
3
)
AS
'Free
Space
(MB)'
FROM
information_schema.tables
GROUP
BY
table_schema
;
關於MySQL資料庫的比較有用的SQL語句的介紹就到這里了.

9. sql語句的幾個常用函數總結

聚合函數max() count() sum() min()
開窗函數row_number(),rank()
時間函數convert(),adatediff(week,[dateadd],getdate())

10. SQL 語句總結

1、說明:創建資料庫
CREATE DATABASE database-name
2、說明:刪除資料庫
drop database dbname
3、說明:備份sql server
--- 創建 備份數據的 device
USE master
EXEC sp_admpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- 開始 備份
BACKUP DATABASE pubs TO testBack
4、說明:創建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
根據已有的表創建新表:
A:create table tab_new like tab_old (使用舊表創建新表)
B:create table tab_new as select col1,col2… from tab_old definition only
5、說明:刪除新表
drop table tabname
6、說明:增加一個列
Alter table tabname add column col type
註:列增加後將不能刪除。DB2中列加上後數據類型也不能改變,唯一能改變的是增加varchar類型的長度。
7、說明:添加主鍵: Alter table tabname add primary key(col)
說明:刪除主鍵: Alter table tabname drop primary key(col)
8、說明:創建索引:create [unique] index idxname on tabname(col….)
刪除索引:drop index idxname
註:索引是不可更改的,想更改必須刪除重新建。
9、說明:創建視圖:create view viewname as select statement
刪除視圖:drop view viewname
10、說明:幾個簡單的基本的sql語句
選擇:select * from table1 where 范圍
插入:insert into table1(field1,field2) values(value1,value2)
刪除:delete from table1 where 范圍
更新:update table1 set field1=value1 where 范圍
查找:select * from table1 where field1 like 』%value1%』 ---like的語法很精妙,查資料!
排序:select * from table1 order by field1,field2 [desc]
總數:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1
11、說明:幾個高級查詢運算詞
A: UNION 運算符
UNION 運算符通過組合其他兩個結果表(例如 TABLE1 和 TABLE2)並消去表中任何重復行而派生出一個結果表。當 ALL 隨 UNION 一起使用時(即 UNION ALL),不消除重復行。兩種情況下,派生表的每一行不是來自 TABLE1 就是來自 TABLE2。
B: EXCEPT 運算符
EXCEPT 運算符通過包括所有在 TABLE1 中但不在 TABLE2 中的行並消除所有重復行而派生出一個結果表。當 ALL 隨 EXCEPT 一起使用時 (EXCEPT ALL),不消除重復行。
C: INTERSECT 運算符
INTERSECT 運算符通過只包括 TABLE1 和 TABLE2 中都有的行並消除所有重復行而派生出一個結果表。當 ALL 隨 INTERSECT 一起使用時 (INTERSECT ALL),不消除重復行。
註:使用運算詞的幾個查詢結果行必須是一致的。
12、說明:使用外連接
A、left (outer) join:
左外連接(左連接):結果集幾包括連接表的匹配行,也包括左連接表的所有行。
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
B:right (outer) join:
右外連接(右連接):結果集既包括連接表的匹配連接行,也包括右連接表的所有行。
C:full/cross (outer) join:
全外連接:不僅包括符號連接表的匹配行,還包括兩個連接表中的所有記錄。
12、分組:Group by:
一張表,一旦分組 完成後,查詢後只能得到組相關的信息。
組相關的信息:(統計信息) count,sum,max,min,avg 分組的標准)
在SQLServer中分組時:不能以text,ntext,image類型的欄位作為分組依據
在selecte統計函數中的欄位,不能和普通的欄位放在一起;
13、對資料庫進行操作:
分離資料庫: sp_detach_db; 附加資料庫:sp_attach_db 後接表明,附加需要完整的路徑名
14.如何修改資料庫的名稱:
sp_renamedb 'old_name', 'new_name'

熱點內容
ea編程入門 發布:2025-01-15 13:30:11 瀏覽:411
應繳費檔次配置異常怎麼回事 發布:2025-01-15 13:20:34 瀏覽:617
成都php招聘 發布:2025-01-15 13:12:16 瀏覽:380
怎麼調用伺服器資料庫 發布:2025-01-15 13:06:25 瀏覽:656
人人網設置訪問許可權 發布:2025-01-15 13:02:06 瀏覽:563
崩壞學園2腳本 發布:2025-01-15 12:58:43 瀏覽:459
我的世界伺服器等級如何升 發布:2025-01-15 12:45:55 瀏覽:689
c語言程序填空題 發布:2025-01-15 12:45:53 瀏覽:545
怎麼配置氯化鈉濃度 發布:2025-01-15 12:34:06 瀏覽:206
4000除以125簡便演算法 發布:2025-01-15 12:27:41 瀏覽:464