日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

筛选出一证多卡 用sql_对比Excel学习SQL(3):对列和行的操作

發布時間:2025/3/15 数据库 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 筛选出一证多卡 用sql_对比Excel学习SQL(3):对列和行的操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文將從以下幾個方面進行:

一、對列的查詢

01 查詢單個列

03 查詢所有列

04 對列去重

二、對列的值排序

01 升序排列

02 降序排列

03 多個列排序

三、對行的篩選

01 單條件篩選

02 多條件篩選

03 IN命令

04 LIKE命令

正文:

一、對列的查詢

Excel里對于一張表,只想選取其中的某幾列,只需復制列的值粘貼到新表即可,Excel是對行的操作很多,對列的操作幾乎不需要什么技巧。

01 查詢一個列

這里查詢用到【select】命令,從XX表里選取XX列,select后跟列名,from后跟表名

-查詢一個列 select 列名 from 表名;

查詢student表里sname一列的值

02 查詢多個列

多個被查詢的列之間用逗號分隔

--查詢多個列 select 列1,列2 from 表;

查詢sname和sage兩個列的值

03 查詢所有列

用到通配符 *,相當于查看這個表所有的數值

--查詢所有列 select * from 表;

查詢student這個表的所有列的值

04 查詢該列中不重復的值(去重)

Excel里用到【刪除重復值】的功能

SQL中用到【Distinct】命令

--去重 select DISTINCT 列 from 表;

對sex一列進行去重(這個例子里這樣去重并沒什么意義)

二、對列的值排序

01 升序排列

Excel中從【篩選】功能里可以進行升序排列的操作

SQL中排序用到【order by】關鍵字,后面跟要安裝哪一列排序,默認是升序,也可以直接寫明ASC。

--對列的值升序排列 select 列 from 表 order by 列; select 列 from 表 order by 列 ASC;

按snum一列升序排列

02 降序排列

SQL中用到【DESC】關鍵字降序排列

--對列的值降序排列 select 列 from 表 order by 列 DESC;

按snum一列降序排列

03 多個列排序

Excel中用【排序】功能對多個列排序

SQL里對要排序的多個列之間用逗號進行分割

--多個列排序 select 列1,列2 from 表 order by 列1 DESC,列2 ASC;

對snum降序,對sage升序排列選擇全部的列。

三、對行的篩選

Excel里對行的篩選主要用到【篩選】功能

SQL里對行的篩選主要用【where】命令+操作符,主要的操作符如下表所示:

01 單條件篩選

--單條件篩選 select 列 from 表 where 列 操作符 值;

注:

  • 字符要加單引號
  • Order by 在 where 之后使用

【=】

篩選snum等于6的行記錄

select * from student1 where snum = 6;

【<】

篩選snum小于6的行記錄

select * from student1 where snum < 6;

【>】

篩選snum大于6的行記錄

select * from student1 where snum > 6

【<>】

篩選snum不等于6的行記錄

select * from student1 where snum <> 6;

【between】

篩選snum中介于6~8之間的行記錄

select * from student1 where snum between 6 and 8;

02 多條件篩選

SQL中多條件篩選用到邏輯運算符:AND OR NOT

  • AND:與,表示必須幾個條件同時滿足;
  • OR:或,表示幾個條件中有一個滿足即可;
  • NOT:非,否定
--多條件篩選 select 列 from 表 where 列 操作符 值 邏輯運算符 列 操作符 值;

【and】

這里用另一張表sc表,選擇分數大于60分且學號為1的所有記錄

select * from sc where score > 60 and snum = 1;

【or】

選擇分數大于60或者學號等于1的所有記錄

Excel里用高級篩選來做

select * from sc where score > 60 or snum = 1;

【and or 同時】

同樣用到Excel里高級篩選的功能

select * from sc where score > 60 or snum = 1 and cnum = 1;

這里先計算的是and兩邊的snum為1且cnum為1的值,再與score大于60進行或計算

select * from sc where (score > 60 or snum = 1) and cnum = 1;

與上例不同,這里先計算括號里的或再計算括號外的與

注:and 和 or可以組合使用,若不加括號,則優先進行and計算

03 IN

【IN】命令的功能和OR是一樣的,不同的是OR只能對兩個值進行或計算,而IN可以對多個值進行或計算。

--多個值的或計算 select 列 from 表 where 列 IN (值1,值2,值3);

篩選出分數等于60或70或80的所有行記錄

04 LIKE

LIKE的功能類似Excel里篩選里的模糊查找

--模糊查找 select 列 from 表 where 列 LIKE 條件;
  • 百分號(%)表示多個任意想要匹配的字符。
  • 下劃線(_)同%的匹配,只是只能匹配單個字符。

篩選出student表中sname里姓李的學生的所有記錄

select * from student1 where sname like '李%'

這一小節內容的練習可參考SQLZOO的selectbasics、select from world和selectfrom nobel的練習,關注公眾號【可樂的數據分析之路】,后臺回復【SQLZOO】即可獲得這三章練習的答案。

如果你覺得有用,請點個贊哦~

總結

以上是生活随笔為你收集整理的筛选出一证多卡 用sql_对比Excel学习SQL(3):对列和行的操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。