㈠ sql求助如何依據一個人名,查出他的主管,依據他的主管查出他的主管的主管,依次類推,
select a.name as xm,a.leader as zg1,b.leader as zg2,c.leader as zg3
from user a
left join user b on a.leader=b.name
left join user c on b.leader=c.name
where a.name=name1
㈡ SQL Server的四個查詢語句,題目在內容里
select*from員工基本信息表where員工姓名like'張%'orderby入職日期desc
select*from員工基本信息表wheredatepart(month,出生日期)=datepart(month,dateadd(m,1,getdate()))
select部門編號,a.部門名稱,b.人數from部門信息表ainnerjoin(
select員工所屬部門,count(*)人數from員工信息表groupby員工所屬部門)b
ona.部門名稱=b.員工所屬部門
orderby部門編號
update員工信息表set員工狀態='離職'from(
select員工姓名,max(入職日期)最新入職日期from員工信息表groupby員工姓名havingcount(*)>1)a
where員工信息表.員工姓名=a.員工姓名and員工信息表.入職日期<>a.最新入職日期
你自己看看吧。閑來沒事。哎。蛋疼。
㈢ 在sql資料庫里的視圖是什麼意思,怎麼理解
視圖為原始資料庫數據的一種變換,是查看錶中數據的另外一種方式。可以將視圖看成是一個移動的窗口,通過它可以看到感興趣的數據。視圖為從一個或多個實際表中獲得的,這些表的數據存放在資料庫中。那些用於產生視圖的表叫做該視圖的基表。一個視圖也可以從另一個視圖中產生。
視圖的定義存在資料庫中,與此定義相關的數據並沒有再存一份於資料庫中。通過視圖看到的數據存放在基表中。
(3)sql主管可見查詢擴展閱讀
視圖有很多優點,主要表現在:
1、視點集中
使用戶只關心它感興趣的某些特定數據和他們所負責的特定任務。這樣通過只允許用戶看到視圖中所定義的數據而不是視圖引用表中的數據而提高了數據的安全性。
2、簡化操作
視圖大大簡化了用戶對數據的操作。因為在定義視圖時,若視圖本身就是一個復雜查詢的結果集,這樣在每一次執行相同的查詢時,不必重新寫這些復雜的查詢語句,只要一條簡單的查詢視圖語句即可。可見視圖向用戶隱藏了表與表之間的復雜的連接操作。
3、定製數據
視圖能夠實現讓不同的用戶以不同的方式看到不同或相同的數據集。因此,當有許多不同水平的用戶共用同一資料庫時,這顯得極為重要。
4、合並分割數據
在有些情況下,由於表中數據量太大,故在表的設計時常將表進行水平分割或垂直分割,但表的結構的變化卻對應用程序產生不良的影響。如果使用視圖就可以重新保持原有的結構關系,從而使外模式保持不變,原有的應用程序仍可以通過視圖來重載數據。
5、安全性
視圖可以作為一種安全機制。通過視圖用戶只能查看和修改他們所能看到的數據。其它資料庫或表既不可見也不可以訪問。如果某一用戶想要訪問視圖的結果集,必須授予其訪問許可權。視圖所引用表的訪問許可權與視圖許可權的設置互不影響。
㈣ sql語句聯合查詢 與 視圖想比較的話,那個效率快,為什麼。
sql效率比較快,存儲過程的好處是不僅快且更安全,但移植性差。視圖可以封裝查詢的復雜性,就像面向對象里類的概念一樣。
㈤ 如何在SQL上查詢到用友R9帳套主管密碼
你想做什麼壞事呀,主管帳套的你也想打開。就不給你。
㈥ sql查詢問題
查詢2009~2011連續三年 年在哪裡?
select t1.*,t2.部門主管 from b t1,b t2 where t1.部門編號=t2.部門編號 where t1.部門編號 in
(select 部門編號 from a group by 部門編號 having sum(部門預算)>100)
㈦ Oracle SQL查詢
給所有姓'白'的員工工資加500(6分)
㈧ 求解:寫出SQL查詢語句的基本結構,並說明結構中各子句表示的含義
語法
SELECT [predicate] { * | table.* | [table.]field1 [AS alias1] [, [table.]field2 [AS alias2] [, ...]]}
FROM tableexpression [, ...] [IN externaldatabase]
[WHERE... ]
[GROUP BY... ]
[HAVING... ]
[ORDER BY... ]
[WITH OWNERACCESS OPTION]
SELECT 語句包含以下部分:
部分 說明
predicate 這些謂詞之一:ALL、DISTINCT、DISTINCTROW 或 TOP。可以使用謂詞來限定返回記錄的數量。如果沒有指定謂詞,默認值為 ALL。
* 指定選擇所指定的表的所有欄位。
table 表的名稱,該表包含了其記錄被選擇的欄位。
field1,field2 欄位名,這些欄位包含了要檢索的數據。如果包括多個欄位,將按它們的排列順序對其進行檢索。
alias1, alias2 用作列標題的名稱,不是 table 中的原始列名。
tableexpression 其中包含要檢索的數據的表的名稱。
externaldatabase 如果 tableexpression 中的表不在當前資料庫中,則使用該參數指定該資料庫名。
說明
若要執行此項操作,Microsoft�0�3 Jet 資料庫引擎會搜索指定的表,並提取出選定的列,再選擇出符合條件的列,然後按指定的順序對得到的行進行排序或分組。
SELECT 語句不會更改資料庫中的數據。
SELECT 通常是 SQL 語句中的第一個詞。大多數 SQL 語句是 SELECT 或 SELECT...INTO 語句。
SELECT 語句最簡化的語法為:
SELECT fields FROM table
可以通過星號 (*) 來選擇表中所有的欄位。以下的示例選擇在 Employees 表中的所有欄位:
SELECT * FROM Employees;
如果一個欄位名包括於 FROM 子句內的多個表中,請在該欄位前面加上表名和 .(圓點)號。在下面的示例中,Department 欄位同時存在於 Employees 表和 Supervisors 表中。SQL 語句從 Employees 表中選擇出部門並從 Supervisors 表中選擇出主管名:
SELECT Employees.Department, Supervisors.SupvName
FROM Employees INNER JOIN Supervisors
WHERE Employees.Department = Supervisors.Department;
創建 Recordset 對象時,Microsoft Jet 資料庫引擎將使用表的欄位名作為 Recordset 對象中的 Field 對象名。如果需要一個不同的欄位名或者名稱不適合用來生成該欄位的表達式,請使用 AS 保留字。下面的示例使用標題 Birth 來命名在所得到的 Recordset 對象中的返回 Field 對象:
SELECT BirthDate
AS Birth FROM Employees;
只要使用的聚合函數或查詢返回的是不明確的或重復的 Field 對象名稱,就必須使用 AS 子句為該 Field 對象另外提供一個替代名稱。下面的示例使用標題 HeadCount 來命名在結果 Recordset 對象中的返回 Field 對象:
SELECT COUNT(EmployeeID)
AS HeadCount FROM Employees;
可以在 SELECT 語句中使用其他子句進一步約束和組織所返回的數據。有關詳細信息,請參閱相應子句的幫助主題。
請參閱
ALL DISTINCT、DISTINCTROW、TOP 謂詞 ORDER BY 子句 (Microsoft Jet SQL)
DELETE 語句 SELECT...INTO 語句
FROM 子句 SQL 聚合函數
GROUP BY 子句 UNION 操作
HAVING 子句 UPDATE 語句
IN 子句 WHERE 子句
INSERT INTO 語句 WITH OWNERACCESS OPTION 聲明
㈨ 用sql語句查詢年齡低於平均年齡的主管信息,顯示編號,姓名,年齡,
select 編號,姓名,年齡 from 表 where 年齡 < (select average(年齡) from表)
㈩ SQL的核心操作為什麼是數據查詢
因為執行操作的最關鍵的是數據查詢,SQL查詢的基本原理:兩種情況介紹。
第一、單表查詢:根據WHERE條件過濾表中的記錄,形成中間表(這個中間表對用戶是不可見的);然後根據SELECT的選擇列選擇相應的列進行返回最終結果。
第二、兩表連接查詢:對兩表求積(笛卡爾積
)並用ON條件和連接連接類型進行過濾形成中間表;然後根據WHERE條件過濾中間表的記錄,並根據SELECT指定的列返回查詢結果。
第三、多表連接查詢:先對第一個和第二個表按照兩表連接做查詢,然後用查詢結果和第三個表做連接查詢,以此類推,直到所有的表都連接上為止,最終形成一個中間的結果表,然後根據WHERE條件過濾中間表的記錄,並根據SELECT指定的列返回查詢結果。
理解SQL查詢的過程是進行SQL優化的理論依據。
ON後面的條件(ON條件)和WHERE條件的區別:
ON條件:是過濾兩個鏈接表笛卡爾積形成中間表的約束條件。
WHERE條件:在有ON條件的SELECT語句中是過濾中間表的約束條件。在沒有ON的單表查詢中,是限制物理表或者中間查詢結果返回記錄的約束。在兩表或多表連接中是限制連接形成最終中間表的返回結果的約束。
從這里可以看出,將WHERE條件移入ON後面是不恰當的。推薦的做法是:
ON只進行連接操作,WHERE只過濾中間表的記錄。