Mysql中的DQL查询语句_MySQL
bitsCN.com
----------------1、查询所有列 --查询 学生 表所有记录(行) select *from 学生
--带条件的查询 select *from 学生 where 年龄>19
-------------------2、查询指定的列 --查询 所有人的姓名和性别 select 姓名,性别 from 学生
--查询 所有 年龄>19 的学生的 姓名 select 姓名,地址 from 学生 where 年龄>19
/*比较运算符 = > = 不等于 !>不大于 !
--方式二 select 姓名,地址as家乡 from 学生
-----------------------4、消除重复 --查询该表有哪些家乡 select distinct 地址 from 学生
----------------------5、top n(查询前N条) select top 3 * from 学生 --查询前3条记录
-----------------------6、排序 select *from 学生 order by 年龄 asc --按年龄进行升序排列 --desc降序 --asc升序
select * from 学生 order by 年龄 desc ,编号 asc ---按年龄降序 --先按年龄进行降序,在出现相同年龄的时候,把这些相同的学生 再按照 学号 升序排列
--例:查询 学生 表中,年龄最大的三个学生的 年龄、姓名、编号 select top 3 年龄,姓名,编号 from 学生 order by 年龄 desc
-------------------------------7、 and(并且)、or(或者) select *from 学生 where 年龄=20 and 姓名='张三'
--例如:查询 性别为男的 或 专 地址为武汉 select *from 学生 where 性别='男' or 地址='武汉'
----------------------8、between ... and(介于...之间) --例:查询年龄为20-30之间的所有人 select *from 学生 where 年龄 between 20 and 30
-----------------------9、in 的用法 select * from 学生 where 年龄 in(20,19,18)
---------------------------10、top N 与 order by 同时使用
--例:查询年龄最大的一人 select top 1 with ties * from 学生 --加了with ties 后 如有并列第一的就全都显示 order by 年龄 desc
---------------------------------11、case替换查询结果 --查询所有人信息,如果年龄>=40岁,就显示"中年人", -- 如果年龄 介于30-39 ,就显示“青年” -- 如果年龄 介于20-29 ,就显示“青少年” -- 如果年龄 小于20 , 就显示“少年”
select 学号,姓名,性别, 年龄=case when 年龄>=40 then '中年人' when 年龄 between 30 and 39 then '青年' when 年龄 between 20 and 29 then '青少年' else '少年' --else表示不满足以上条件时,就全部 end ,住址 from 学生
-----------------------------------12、模糊查找 使用like子句进行模糊查询 like子句与通配符配合使.Sql server提供4种通配符 1.%:表示任意字符 2. _:表示单个任意字符 3.[ ]:表示方括号里列出的任意一个字符. 4.[^]:表示任意一个没有在方括号里列出的字符.
--例:查找姓周的所有人信息 select * from 学生 where 姓名 like '周%' --%可以代替任意几个字符
select * from 学生 where 姓名 like '周_' --_表示可以代替一个字符
--例:查找姓名的第二个字包含 ’心‘ 或者 ’三‘ 的人 select * from 学生 where 姓名 like '_[星,三]_'
--嵌套查询(一般嵌套请不要超过3层,即不要出现超过3个select) select * from 学生 where 年龄
--例如:查询所有比 中文系所有学生年龄 大的学生 select * from xs where 年龄> ( select top 1 年龄 from xs where 所在系='中文' order by 年龄 desc )
/*运算符 all some any */
/* all:指定表达式要与子查询结果集中的每个值都进行比较,当表达式与每个值都满足比较的关系时,才返回true,否则返回false;
Some和any:表示表达式只要与子查询结果集中的某个值满足比较的关系时, 就返回true,否则返回false.
*/
select * from xs where 年龄>all ( select 年龄 from xs where 所在系='中文' )
----------------------------------表的复制 /*把所有计算机系的学生拉出来单独创建一个表*/
create table xs_jisuanji --创建一个新表 ( 学号 int, 姓名 varchar(50), 性别 char(10), 年龄 int )
insert into xs_jisuanji --查询内容 并复制内容到新建的表 select 学号 ,姓名, 性别, 年龄 from xs where 所在系='计算机'H
/*复制方式二*/ --创建中文系的表 select 学号,姓名,性别 ,年龄 into xs_zhongwen from xs where 所在系='中文'
---跨数据库表的复制(需要在 表名前加数据库名) select * into test.dbo.xs from n2d09003
-------------------------------------------- --聚合函数
--求学生总分 select sum(成绩) as 总分数 from xs
--求分数最高分 select max(成绩) as 最高分 from xs
-- 求最低分 select min(成绩) as 最低分 from xs
--求平均分 select avg(成绩) as 平均分 from xs
--统计有多少名学生 select count(成绩) as 人数 from xs
---------------------------------------分类汇总 group by --例1
--查询学生表中有哪些专业 select distinct 所在系 from xs
--group by 实现 select 家乡 from N2D09003 group by 家乡
--例2 求每个地方的学生数 select 家乡,count (*) as 人数 from N2D09003 group by 家乡 --按照家乡 进行分类汇总
--[例3]求每个地方 男生和女生的人数 select 家乡,性别,count(*) as 人数 from N2D09003 group by 家乡,性别 --按照家乡 和 性别 进行分类汇总
/*` [特别注意:1:select 后面出现的列名,必须出现在group by 后面] 2:group by与order by连用,order by 子句中可包含聚合函数. 3、group by关键字后可以使用多个字段名作为分组字段,这样, 系统将根据这些字段的先后顺序对结果集进行更加详细地分组。
--[例4]求每个地方的总人数,并且按照人数从多到少排序 select 家乡,count(*) as 人数 from N2D09003 group by 家乡 order by 人数 desc --这里的order by 后面可以是聚合函数(如果需要的话)
select * from xs order by max(年龄) dese --错误 不满足使用要求第二条
--------------------------------------------------------------09.12.04
-------------------------------------group by ...having --作用:分类汇总后,再进行筛选 /*查询每个专业总人数,并且显示 总人数>3人的专业*/ select 所在系 , count(*) as 人数 from xs group by 所在系 having count(*)>3 --筛选出人数>3人的专业
--------------------group by ....with rollup select 所在系, count(*) as 人数 from xs group by 所在系,性别 with rollup --在分类汇总之后,再次汇总
select 所在系,性别, count(*) as 人数 from xs group by 所在系,性别 with rollup --在分类汇总之后,再次汇总
-------------------group by .... with cube select 所在系,性别,count(*) as 人数 from xs group by 所在系,性别 with cube --比rollup 汇总的更详细(按照 group by 后面的列进行再次汇总)
------------------------------------------------链接查询 /*查找选修了课程号为2且成绩在80分以上的学生姓名和成绩*/ select 姓名,xx.成绩 from xs,xx where xs.学号=xx.学号 --两表链接条件 and 课程号=2 and xx.成绩>80
--加了 表名.列名 (一般无需在列名之前加表名前缀,只有当两个表有相同的列名时才加前缀) select xs.姓名,xx.成绩 from xs,xx where xs.学号=xx.学号 --两表链接条件 and xx.课程号=2 and xx.成绩>80
-----------------------查询 刘德华的成绩 --方式一 省略前缀 select xx.成绩 from xx,xs where xx.学号=xs.学号 and 姓名='刘德华'
--方式二 嵌套查询 select 成绩 from xx where 学号= ( select 学号 from xs where 姓名='刘德华' )
--方式三 内联式查询 select xx.成绩 from xx join xs on xs.学号=xx.学号 --两表连接条件 where 姓名='刘德华' --其他限制条件
--查询林心如的古汉语成绩 select 姓名, 课程名 ,xx.成绩
from xs join xx on xs.学号=xx.学号 join kc on kc.课程号=xx.课程号 and 姓名='林心如' and 课程名='古汉语'
select 姓名 ,课程名 ,xx.成绩 from xs,xx,kc where xs.学号=xx.学号 and xx.课程号=kc.课程号 and 姓名='林心如' and 课程名='古汉语'
select 成绩 from xx where 课程号= ( select 课程号 from kc where 课程名='古汉语' ) and 学号= ( select 学号 from xs where 姓名='林心如' )
bitsCN.com
熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

拼多多軟體內提供的商品好物非常多,隨時隨地想買就買,而且每一件商品品質都是嚴格把關的,件件商品都是正品,不同還有非常多優惠的購物折扣,讓大家網購根本停不下來。輸入手機號碼在線登錄,在線添加多個收貨地址和聯繫方式,可以隨時查看最新的物流動態,不同品類的商品板塊都是開放的,搜索上下滑動選購下單,足不出戶輕鬆體驗便捷的網購服務,還能查看所有的購買記錄,包括自己買過的商品,數十個購物紅包、優惠券免費領取使用,現在小編在線詳細為拼多多用戶們帶來查看買過的商品記錄的方法。 1.打開手機,點選拼多多圖標,

如何在Linux中查看命令歷史記錄在Linux中,我們使用history命令來查看所有先前執行的命令的清單。它有一個非常簡單的語法:history與歷史記錄命令配對的一些選項包括:選項描述-c清除當前會話的命令歷史記錄-w將命令歷史記錄寫入檔案-r從歷史記錄檔案重新載入命令歷史記錄-n限制最近命令的輸出數量只需執行history命令即可在Linux終端機中查看所有先前執行的命令的清單:除了查看命令歷史記錄之外,您還可以管理命令歷史記錄並執行修改先前執行的命令、反向搜尋指令歷史記錄甚至完全刪除歷史記

iPhone中的通話記錄經常被低估,並且是iPhone最關鍵的功能之一。憑藉其簡單性,此功能具有至關重要的意義,可提供有關在裝置上撥打或接聽的通話的重要見解。無論是出於工作目的還是法律訴訟,存取通話記錄的能力都被證明是無價的。簡單來說,通話記錄是指每當撥打或接聽電話時在iPhone上建立的條目。這些日誌包含關鍵訊息,包括聯絡人的姓名(如果未另存為聯絡人,則為號碼)、時間戳記、持續時間和呼叫狀態(已撥打、未接聽或未接聽)。它們是您的通訊歷史記錄的簡明記錄。通話記錄包括儲存在iPhone上的通話記錄條

iPhone可讓您在「健康」App中添加藥物,以便追蹤和管理您每天服用的藥物、維生素和補充劑。然後,您可以在設備上收到通知時記錄已服用或跳過的藥物。記錄用藥後,您可以查看您服用或跳過用藥的頻率,以幫助您追蹤自己的健康狀況。在這篇文章中,我們將指導您在iPhone上的健康應用程式中查看所選藥物的日誌歷史記錄。如何在「健康」App中查看用藥日誌歷史記錄簡短指南:前往「健康」App>瀏覽「>用藥」>用藥「>選擇一種用藥>」選項「&a

如何進行Java開發專案的日誌記錄與監控一、背景介紹隨著網路的快速發展,越來越多的企業開始進行Java開發,建構各種類型的應用程式。而在開發過程中,日誌記錄和監控是一個不可忽視的重要環節。透過日誌記錄與監控,開發人員可以及時發現和解決問題,確保應用程式的穩定性和安全性。二、日誌記錄的重要性1.問題追蹤:在應用程式發生錯誤時,日誌記錄可以幫助我們快速定位問題

C#開發建議:日誌記錄與監控系統摘要:在軟體開發過程中,日誌記錄與監控系統是至關重要的工具。本文章將介紹C#開發中日誌記錄與監控系統的作用與實施建議。引言:在大型軟體開發專案中,日誌記錄和監控是不可或缺的工具。它們可以幫助我們即時了解程式運行狀況,快速發現並解決問題。本文將討論C#開發中如何使用日誌記錄和監控系統,以提高軟體品質和開發效率。日誌記錄系統的作用

Laravel集合中的Where方法實用指南在Laravel框架的開發過程中,集合(Collection)是一個非常有用的資料結構,它提供了豐富的方法來操作資料。其中,Where方法是常用的篩選方法,能夠根據指定條件來過濾集合中的元素。本文將介紹Laravel集合中Where方法的使用,透過具體的程式碼範例來示範其用法。 1.基本用法Where方法的

Laravel集合中如何使用Where方法Laravel是一個流行的PHP框架,它提供了豐富的功能和工具,方便開發者快速建立應用程式。其中,集合(Collection)是Laravel中一個非常實用且強大的資料結構,開發者可以使用集合對資料進行各種操作,例如過濾、映射、排序等。在集合中,Where方法是一個常用的方法,用於根據指定的條件過濾集
