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查詢語句than 的用法
兩種方式,都是子查詢,不過要根據你的數據庫不同有些變動,我寫的是 oracle的寫法,如果不是oracle數據庫,那么要有些不同的。
(1)select *,*,*,*ame,* from 用戶表 a,類型表 b where *ype=*d
(2)select id,age,sex,(select scorename from 類型表 where scoretype=用戶表.scoreid),name from 用戶表
誰可以給我全部的SQL查詢語句
一、 簡單查詢 簡單的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 (二) FROM子句 FROM子句指定SELECT語句查詢及與查詢相關的表或視圖。
在FROM子句中最多可指定256個表或視圖,它們之間用逗號分隔。在FROM子句同時指定多個表或視圖時,如果選擇列表中存在同名列,這時應使用對象名限定這些列 所屬的表或視圖。
例如在usertable和citytable表中同時存在cityid列,在查詢兩個表中的cityid時應使用下面語句格式加以限定: SELECT username,* FROM usertable,citytable WHERE *=* 在FROM子句中可用以下兩種格式為表或視圖指定別名: 表名 as 別名 表名 別名 例如上面語句可用表的別名格式表示為: SELECT username,* FROM usertable a,citytable b WHERE *=* SELECT不僅能從表或視圖中檢索數據,它還能夠從其它查詢語句所返回的結果集合中查詢數據。 例如: SELECT *_fname+*_lname FROM authors a,titleauthor ta (SELECT title_id,title FROM titles WHERE ytd_sales>10000 ) AS t WHERE *_id=*_id AND *_id=*_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 運算符時,應保證每個聯合查詢語句的選擇列表中有相同數量的表達式,并且每個查詢選擇表達式應具有相同。
一個很基礎的SQL查詢語句
這個是SQLSERVER的查詢
方括號在此處并不是必須的,方括號一般是用來括用戶表中涉及的數據庫的保留字的。比如USER, ID等等之類的SQLSERVER的保留字。因為數據庫本身有這些關鍵字,而用戶創建自己的表時,又創建了這些字段,使用的時候,就需要把用戶表的這些名字的字段用方括號括起來,其他的時候不是必要的。
select * from *_monitor
master表示數據庫名,dbo是數據庫用戶,spt_monitor是用戶下的表結構。
這個語句就是查詢master庫中,dbo用戶下的spt_monitor表的數據。
而不使用前綴,select * from spt_monitor,對比上面,缺少了數據庫的指定,缺少了用戶名。
這就需要你當前執行連接的數據庫是master庫才可以,而且登陸的用戶具備操作spt_monitor的權限。而上一個語句,指定了數據庫,所以是可以跨庫操作的。比如當前連接數據庫為northwind數據庫,第一個select * from *_monitor因為指定了明確的數據庫,所以不會報錯,可是select * from spt_monitor,因為spt_monitor不屬于庫northwind,所以會報錯,找不到表。
SQL查詢語句,怎么查詢不等于多個字段的數據
1、語法有問題。
可以寫成:1Select * From [tb_luru4] where UserId !=('100086') or UserId !=('100010')
2、ID是整型不要加引號。
SQL語言:
是結構化查詢語言(Structured Query Language)的簡稱。SQL語言是一種數據庫查詢和程序設計語言,用于存取數據以及查詢、更新和管理關系數據庫系統;同時也是數據庫腳本文件的擴展名。
SQL語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同數據庫系統可以使用相同的結構化查詢語言作為數據輸入與管理的接口。SQL語言語句可以嵌套,這使他具有極大的靈活性和強大的功能。
SQL語句查詢問題
行轉列問題,參考以下腳本:
/*
CREATE TABLE t_r2c(
[id] [int] IDENTITY(1,1) NOT NULL,
[name] [nvarchar](50) NULL,
[course] [nvarchar](50) NULL,
[score] [int] NULL,
)
GO
INSERT INTO t_r2c ([name],[course],[score]) VALUES('張三','語文',80)
INSERT INTO t_r2c ([name],[course],[score]) VALUES('張三','數學',70)
INSERT INTO t_r2c ([name],[course],[score]) VALUES('張三','英語',85)
INSERT INTO t_r2c ([name],[course],[score]) VALUES('李四','語文',92)
INSERT INTO t_r2c ([name],[course],[score]) VALUES('李四','數學',90)
INSERT INTO t_r2c ([name],[course],[score]) VALUES('李四','英語',88)
INSERT INTO t_r2c ([name],[course],[score]) VALUES('王五','語文',54)
INSERT INTO t_r2c ([name],[course],[score]) VALUES('王五','數學',72)
INSERT INTO t_r2c ([name],[course],[score]) VALUES('王五','英語',66)
GO
SELECT * FROM t_r2c
*/
--固定科目
SELECT name AS '姓名',
SUM(CASE WHEN ( course = '語文' ) THEN score END) AS '語文',
SUM(CASE WHEN ( course = '數學' ) THEN score END) AS '數學',
SUM(CASE WHEN ( course = '英語' ) THEN score END) AS '英語'
FROM t_r2c
GROUP BY name
--動態科目
DECLARE @sql NVARCHAR(4000)
SET @sql='SELECT name AS ''姓名'','
DECLARE @c NVARCHAR(4000)
SET @c=''
SELECT @c=' SUM(CASE WHEN ( course = '''+course+''' ) THEN score END) AS '''+course+''','+@c
FROM (SELECT DISTINCT course FROM t_r2c) t
SET @sql=@sql+SUBSTRING(@c,0,LEN(@c))+' FROM t_r2c GROUP BY name'
EXEC(@sql)
怎么區別SQL里的各種查詢語句
查詢語句的格式是
select 【要查詢的字段】 from 【表名】 where 【約束條件】
如果要分組 再加上 group by 【按照哪個列分組的列名】
如果要排序 再加上 order by 【按照那個列排序的列明】 asc/desc --二者選其一asc是升序,另一個是降序
例如:
select * from student where sex='男' --*代表列的所有字段
order by birthday desc
意思是 查詢 student表中的 而且性別為男的所有信息 并且按照生日的降序排列
插入語句
格式是
insert into [表名](列1,列2,列3。.) values ('列1的值,'列2','列3值'。) --注意日期類型的數據不能加單引號
例子
insert table student(name,sex,birthday) values ('小明','男',1990-01-01) --into可要可不要,數據要與列明要一一對應
更新語句
update [表名] set [列明]=更新的值 where 。. --后面也是限制語句,就是寫一個條件比如 (where name='小明')
例子
update student set sbirthday=1991-01-01 where name='小明'
意思是把名字為小明的列的 生日該為 那個日期
刪除語句
delete table [表名] where。--也是條件和上面一樣
例子
delete table student where name='小明'
意思是刪除名字為小明的列的所有數據
delete 表名 -- 即刪除指定的表
delete database 數據庫名 --即刪除指定的數據庫
轉載請注明出處華閱文章網 » sql查詢語句but