sql查詢除了某個欄位的值以外的其實記錄

2021-03-29 00:24:59 字數 5713 閱讀 1600

1樓:天河流紋石

select * from 表名

where not 姓名='張三版'

select * from 表名 where 姓名<>'張三'

select * from 表名 where 姓名 not in ('張三','李四')

這些都可以權

2樓:匿名使用者

select * from tablename where name <> '張三'

即查詢所有名字不等於張三的資料

sql語句,查詢資料庫裡除了某一條記錄外的所有記錄。

3樓:匿名使用者

select * from table where id not in (第二條的id)

4樓:魚與雨遇

select * from table where id not in (id)

介紹:結構化查詢語言(structured query language)簡稱sql(發音:/ˈes kjuː ˈel/ "s-q-l"),是一種特殊目的的程式語言,是一種資料庫查詢和程式設計語言,用於存取資料以及查詢、更新和管理關聯式資料庫系統;同時也是資料庫指令碼檔案的副檔名。

結構化查詢語言是高階的非過程化程式語言。

參考資料

mysql中如何查出除了某個欄位外的所有欄位的值??

5樓:喲啦卡

mysql中查來出除了某個字

段外的所有自欄位的值方法:

bai1、如果是du查出某個欄位以外的zhi欄位名 語句dao為select name from syscolumns where id=object_id('表1') and name<>'id'

2、如果是查出某個欄位以外的欄位名所包含的值 語句為declare @a varchar(max)

mysql資料型別

1、好比c++中,定義int型別需要多少位元組,定義double型別需要多少位元組一樣,mysql對錶每個列中的資料也會實行嚴格控制,這是資料驅動應用程式成功的關鍵。

2、mysql提供了一組可以賦給表中各個列的資料型別,每個型別都強制資料滿足為該資料型別預先確定的一組規則,例如大小、型別及格式。

3、總結資料型別。mysql中的資料型別大的方面來分,可以分為:日期和時間、數值,以及字串。

6樓:匿名使用者

--如果是查

bai出某個

欄位以外du的欄位名zhi 語句dao為

select name from syscolumns where id=object_id('表1') and name<>'id'

--如果是查出某個欄位以外的欄位名所包含的版值 語句為

declare @

權a varchar(max)

select @a=isnull(@a+',','')+name from syscolumns   where   id=object_id( '表1')   and   name <> 'id'

exec ('select

from 表1')

sql語句查詢除某一列以外的其他所有列?跪求

7樓:坊間小毅

如果你想直接在sql查詢語句中這麼做,很遺憾地告訴你,不可以,你只能是列出你想要的所有列,不過有幾個簡單的方法可以幫你快速得到這個sql,

通過mangement studio得到表的所有列,然後刪除你不想要的列。

當然還有一些其他方法,你可以自己研究一下,主要是幫助你快速得到查詢語句。

如果你是在儲存過程中的話,你還可以通過拼sql的方式得到你想要的效果,**如下:

declare @cols varchar(max), @query varchar(max)

select  @cols = stuff((

select distinct '], [' + name

from sys.columns

where object_id = (

select top 1 object_id from sys.objects

where name = 'customers'

)and name not in ('fax', 'phone')

for xml path('')

), 1, 2, ''

) + ']'

select @query = 'select ' + @cols + ' from customers'

print @query  //這也是一種得到你想要列的sql的方法

exec (@query)

無論怎麼樣,都沒有一種比較簡潔或短的sql寫法,讓你直接從查詢結果中過濾掉某一或某些列,只能是列出你想要的列。

8樓:用著追她

1、首先我們準備一個資料表,如下圖所示,接下來將會在這個表中新增列。

2、然後我們通過alter  table語句來給表新增一個列。

3、回到資料表一會我們看到列已經被新增進資料表了,如下圖所示,但是預設值卻沒有。

4、接下來我們在新增列的時候同時新增上預設值,這個時候運用default關鍵字。

5、然後回到資料表,我們就看到預設值有內容了。

6、另外在資料表中經常使用的是uniqueidentifier型別,這種欄位設定預設值需要按如下圖所示的方式進行。

7、回到資料表中我們可以看到預設值已經新增上了。

9樓:匿名使用者

沒有別的辦法,只能一個一個欄位羅列

不過你要是嫌一個一個敲上去麻煩,你可以把你的建表語句調出來

把不查的那個去掉,就行

sql查詢資料庫,某個欄位不同,其他相同,只保留一個記錄。具體看問題補充

10樓:

可以這樣寫

select distinct id , name , max(yy) from a

group by id , name

取id和name相同的最大yy,這樣就只保留一條記錄。

11樓:匿名使用者

select id,name,max(yy)

from 表

group by id,name

12樓:匿名使用者

select distinct t.id,t.name,t.

yy fromm tablename t,tablename t1 where t.yy<>t1.yy and t.

id = t1.id and t.name = t1.

name

sql中,如何查詢存在一個表而不在另一個表中的資料記錄 20

13樓:匿名使用者

首先,在sql中(以sql server為例),查詢存在一個表而不在另一個表中的資料記錄的方法有很多,介紹其中4種:

1、方法一(僅適用單個欄位):使用 not in ,比較容易理解,缺點是效率低

如:select a.id from a where a.id not in (select id from b);

2、方法二(適用多個欄位匹配):使用 left join...on... , "b.id isnull" 表示左連線之後在b.id 欄位為 null的記錄。

如:select a.id from a left join b on a.id=b.id where b.id is null ;

3、方法三(適用多個欄位匹配)

如:select * from b where (select count(1) as num from a where a.id = b.id) = 0;

4、方法四(適用多個欄位匹配)

如:select * from a where not exists(select 1 from b where a.id=b.id)

接著,我們來分析你的sql語句為什麼返回資料不準確的原因。

從你的sql基礎語句來看,你使用了方法一和方法四這兩種,兩種語法本身都是正確的,但是卻沒有達到預期的效果,初步分析,問題可能出在gsdj和swdj這兩張表的qymc欄位的判斷比較上。

舉個例子:'企業名稱'和'企業名稱  '這兩個字串看似相同,實際卻並不相同,因為第二個「企業名稱 」的後面跟了一個空格字元。就因為這個空格字元導致這個"'企業名稱'='企業名稱 '"等式不成立。

考慮到你qymc這個欄位的型別是字元型,建議你在原有sql基礎上做一個微調如下:

select * from gsdj  gs where not exists (select * from swdj sw where rtrim(ltrim(sw.qymc )) )=rtrim(ltrim(gs.qymc )));

其中ltrim()可以去除左側空格,rtrim()可以去除右側的空格,也就是說我們是對去除空格後的企業名稱進行比較,排除了空格的干擾。

擴充套件資料:

在sql中,對於字元型文字資料,經常需要用到去空格的操作,對oracle資料來說可以通過trim()函式來簡單實現,而sql server中並沒有trim()函式,只有ltrim()和rtrim()兩個函式。

sql 中使用ltrim()去除左邊空格 ,rtrim()去除右邊空格 ,沒有同時去除左右空格的函式,要去除所有空格可以用replace(字串,' ',''),將字串裡的空格替換為空。

例:去除空格函式

declare @temp char(50)

set @temp = ' hello sql '

print ltrim(@temp)     --去除左邊空格

print rtrim(@temp)     --去除右邊空格

print replace(@temp,' ','') --去除字串裡所有空格

print @temp

>> 輸出結果

hello sql

hello sql

hellosql

hello sql

14樓:妗妗歘歘

我有兩張表如何查詢在一個表姑在另一個表中的資料

15樓:煙染暖陽

select * from swdj where qymc not in (select qymc from gsdj)

16樓:匿名使用者

select * from gsdj t1 where not exists (select * from swdj where qymc=t1.qymc )

17樓:匿名使用者

select * from gsdj gsdj where gsdj.qymc not in (select swdj.qymc from swdj swdj) 或者

select * from gsdj gs where not exists (select * from swdj sw where sw.qymc=gs.qymc )

試試加上表別名

18樓:丶我是週週

select * from gsdj where gsdj.qymc =swdj.qymc and gsdj.

qymc not in (select swdj.qymc from swdj )這兩個表之間必須要有一個相連線的列

sqlserver按照某個欄位的值排序,但是需要剔除裡面某些值怎麼寫

在order by之前寫,where aaa 2 不用謝我 我是雷鋒,這些都是最基礎的sql用法,你還需努力啊 判斷條件加上aaa不等於2就可以了。select from 表名 where aaa 2 order by aaa sql 按欄位指定值排序 這個需要在排序語句中使用條件判斷 例如 表 t...

在oracle資料庫怎麼查詢某個欄位在哪些表中出現過

select table name from dba tab columns where column name 欄位名 大寫 從dba tab columns裡查詢 請問如何查詢一個oracle資料庫中,是否有某個表的某一列包含某個值 1 看使用者的表的資訊如同marliuang所說,不再贅述。當...

SQL問題,怎麼將一張表的某個欄位更新為另一張表的欄位

符號別亂用.不寫 了 1.定義變數 2.做個更新語句 包含個子查詢 update b set b.b05 a02 from b join a on b.c01 a.c01 sql 如何將一個表中某個欄位的值全部更新到另外一個表相應的欄位 sql語句如下 update a set a.ty2 b.ty...