如何使用SQL查詢語句
一、 簡單查詢 簡單的Transact-SQL查詢只包括選擇列表、FROM子句和WHERE子句。
它們分別說明所查詢列、查詢的表或視圖、以及搜索條件等。例如,下面的語句查詢testtable表中姓名為“張三”的nickname字段和email字段。
SELECT nickname,emailFROM testtableWHERE name='張三'(一) 選擇列表選擇列表(select_list)指出所查詢列,它可以是一組列名列表、星號、表達式、變量(包括局部變量和全局變量)等構成。 1、選擇所有列例如,下面語句顯示testtable表中所有列的數據:SELECT *FROM testtable 2、選擇部分列并指定它們的顯示次序查詢結果集合中數據的排列順序與選擇列表中所指定的列名排列順序相同。
例如:SELECT nickname,emailFROM testtable 3、更改列標題在選擇列表中,可重新指定列標題。定義格式為:列標題=列名列名 列標題如果指定的列標題不是標準的標識符格式時,應使用引號定界符,例如,下列語句使用漢字顯示列標題:SELECT 昵稱=nickname,電子郵件=emailFROM testtable 4、刪除重復行SELECT語句中使用ALL或DISTINCT選項來顯示表中符合條件的所有行或刪除其中重復的數據行,默認為ALL。
使用DISTINCT選項時,對于所有重復的數據行在SELECT返回的結果集合中只保留一行。 5、限制返回的行數使用TOP n [PERCENT]選項限制返回的數據行數,TOP n說明返回n行,而TOP n PERCENT時,說明n是表示一百分數,指定返回的行數等于總行數的百分之幾。
例如:SELECT TOP 2 *FROM testtableSELECT TOP 20 PERCENT *FROM testtable(二)FROM子句 FROM子句指定SELECT語句查詢及與查詢相關的表或視圖。在FROM子句中最多可指定256個表或視圖,它們之間用逗號分隔。
在FROM子句同時指定多個表或視圖時,如果選擇列表中存在同名列,這時應使用對象名限定這些列所屬的表或視圖。例如在usertable和citytable表中同時存在cityid列,在查詢兩個表中的cityid時應使用下面語句格式加以限定:SELECT username,citytable。
cityidFROM usertable,citytableWHERE usertable。cityid=citytable。
cityid在FROM子句中可用以下兩種格式為表或視圖指定別名:表名 as 別名表名 別名(二) FROM子句FROM子句指定SELECT語句查詢及與查詢相關的表或視圖。 在FROM子句中最多可指定256個表或視圖,它們之間用逗號分隔。
在FROM子句同時指定多個表或視圖時,如果選擇列表中存在同名列,這時應使用對象名限定這些列所屬的表或視圖。例如在usertable和citytable表中同時存在cityid列,在查詢兩個表中的cityid時應使用下面語句格式加以限定:SELECT username,citytable。
cityidFROM usertable,citytableWHERE usertable。cityid=citytable。
cityid在FROM子句中可用以下兩種格式為表或視圖指定別名:表名 as 別名表名 別名例如上面語句可用表的別名格式表示為:SELECT username,b。 cityidFROM usertable a,citytable bWHERE a。
cityid=b。cityidSELECT不僅能從表或視圖中檢索數據,它還能夠從其它查詢語句所返回的結果集合中查詢數據。
例如:SELECT a。au_fname+a。
au_lnameFROM authors a,titleauthor ta(SELECT title_id,titleFROM titlesWHERE ytd_sales>10000) AS tWHERE a。au_id=ta。
au_idAND ta。 title_id=t。
title_id此例中,將SELECT返回的結果集合給予一別名t,然后再從中檢索數據。
SQL語句怎樣查詢一個范圍
SQL語句通過“BETWEEN…AND…”語法來查詢一個范圍。
WHERE子句設置查詢條件,過濾掉不需要的數據行。其范圍運算符“BETWEEN…AND…”表示表達式值是否在指定的范圍內,類似的“NOT BETWEEN…AND…”表示表達式值是否不在指定的范圍內。
例如:SELECT * FROM user WHERE age BETWEEN 10 AND 30,用于查詢出user表中age值介于10~30間的數據記錄。 擴展資料: SQL中WHERE子句其它運算符: 1、比較運算符 >、>=、=、<、<=、<> 2、列表運算符 IN (項1,項2……) NOT IN (項1,項2……) 3、模式匹配符 LIKE、NOT LIKE 4、空值判斷符 IS NULL、IS NOT NULL 5、邏輯運算符 NOT、AND、OR 參考資料來源:百度百科-結構化查詢語言。
SQL查詢語句,高手進
--1、查詢“001”課程比“002”課程成績高的所有學生的學號;select * from (select sid,score from SC where Cid='1') Student,(select Sid,score from SC where Cid='2') Course--2、查詢平均成績大于60分的同學的學號和平均成績; select Sid,avg(score) from SC group by Sid having avg(score)>60--3、查詢所有同學的學號、姓名、選課數、總成績;select Sid,Sname,Cid,score from Student inner join SC on(*=*) inner join Course on (*=*)--4、查詢姓“李”的老師的個數;select count(*) from Teacher where Tname like '李%'--5、查詢沒學過“葉平”老師課的同學的學號、姓名;--select Sid,Sname from Student inner join SC on (*=*) inner join Course on(*=*) inner join Teacher on (*=*) where * is null--6、查詢學過“”并且也學過編號“”課程的同學的學號、姓名;select SID,Sname--7、查詢學過“葉平”老師所教的所有課的同學的學號、姓名;select Sid,Sname from Student where Sid in (select Sid from SC ,Course ,Teacher where *=* AND *=* AND *='葉平' group by Sid having count(*)=(select count(Cid) from Course,Teacher where *=* AND Tname='葉平'))--8、查詢課程編號“”的成績比課程編號“”課程低的所有同學的學號、姓名;--9、查詢所有課程成績小于60分的同學的學號、姓名;Select *,* from Student,SC where *=* and *<60--10、查詢沒有學全所有課的同學的學號、姓名; select *,* from Student,SC where *=* group by *,* having count(Cid) <(select count(Cid) from Course) 交個朋友吧!好在大家都是學程序的。
SQL查詢語句有哪些
查詢語句只有一種SELECT 。
FROM WHERE 。 (GROUP BY 。
ORDER BY 。)只是根據想要的結果不一樣,而查詢的內容會稍有修改。
比如FROM的表名,可以不是一張表,而是一個SELECT查詢的結果作為一張表。同樣,查詢統計分組匯總,可以增加SUM(), MIN(), MAX()等函數配合group by使用進行分組統計。
WHERE 條件除了簡單的連接之外,也有IN, NOT IN, EXISTS, NOT EXISTS等。還有,兩個SELECT集合可以使用UNION, UNION ALL, MINUS等進行集合的加或者減的操作。
總之如果是查詢,就離不開SELECT 。 FROM 。
WHERE。 這樣的基本形式。
sql簡單查詢語句
。
。為點分真不容易1 select * from StuInfo2 select 考號,姓名,語文,數學,英語 from StuMarks3 select s1.考號,s1.姓名,s1.性別,s2.計算機基礎,*數據庫 from StuInfo s1 left join StuMarks s2 on s1.學號=s2.學號 where 專業名!='計算機'4 select 姓名,學號 from StuMarks where 語文>60 and 數學>60 and 英語>60 and 計算機基礎>60 and SQL數據庫>605 select max(語文),min(數學),avg(英語) from StuMarks6 select 姓名,語文,數學,英語 from StuMarks where (語文+數學+英語+計算機基礎+SQL數據庫)>4007 select 姓名,SQL數據庫 from StuMarks order by SQL數據庫 desc。
SQL語句 查詢 統計
* * from 學生表* 學號,姓名,年齡 from 學生表* 學號,姓名,年齡 from 學生表 where 年齡 between 18 and 20 and 系別='IS'* 學號,姓名,年齡 from 學生表 where 姓名 like '李%' or 姓名 like '李%'5 select distinct 學號 from 學生表 where 成績 <606. select 姓名,年齡,系名 from 學生表 where 系 in ('IS','CS') order by 系名 ASC,姓名 desc7 select count(*) from 學生表 where 系= 'IS'8 select count(*) ,max(分數),min(分數)from 學生表 9 select 課程號,count(*),avg(分數) from 學生表 group by課程號10 select 學號,count(*) from 學生表 11 select avg(分數),課程號 from 學生表 group by 課程號12 select avg(分數),課程號 from 學生表 group by 課程號 order by avg(分數)13 select count(*),學號 from 學生表 group by 學號14 select count(*)a,學號 from 學生表 group by 學號 order by a15 select 課程名稱,avg(分數) from 學生表 group by 課程名16 select 課程標號,課程名稱,avg(分數) from 學生表 group by 課程號,課程名17 select 課程名稱,avg(分數)a from 學生表 where a >7018 select 姓名,count(*) a from 學生表 group by 姓名19 select 學號,姓名,count(*) a from 學生表 group by 學號,姓名20select 學生姓名,count(*) a from 學生表 where a> 4 group by 學生姓名。
SQL如何在查詢結果里再次查詢
可以使用括號“(select查詢子句)"套嵌一個查詢結果。
語法格式:select columnlist。 from (select子句) table_name where 。
注意:”)“ 后面需要給查詢結果指定一個名稱 table_name,名稱不要與其他列名稱相同,增加SQL語句的可讀性。 以下為SQL在查詢結果里再次查詢實例: 1、原表格customer數據: 2、id > 300的查詢結果如圖: select id as 'id',fname as 'fname',lname as 'lanme' from customer where id > 300 3、在查詢結果中篩選fname以'j'開頭的數據: select id as 'id',fname as 'fname',lname as 'lanme' from (select id,fname,lname from customer where id > 300) b where fname like 'j%' 注:大多數據庫管理系統查詢語句是忽略字母大小寫,所以上述代碼 like 'j%',查詢結果包含大寫J開頭的數據,以上示例為MS SQL server 2005環境。