查詢mysql語句的方法:查詢一張表中的記錄時,程式碼為【select * from 表名where name='long' and age ='18'】,from後面加表名,where後面是條件,select後面是篩選出的欄位。
本教學操作環境:windows7系統、mysql8.0.22版,此方法適用於所有品牌電腦。
相關免費學習推薦:mysql影片教學
#查詢mysql語句的方法:
##在mysql查詢一張表中的記錄的時候書寫順序是: select * from 表名where name='long' and age ='18';
某些欄位 * 是所有欄位
select * from 表名\G;當我們遇到一個需求時怎麼來分析? 例如 1.查詢id大於等於3小於等於6的資料 給你展示下實際操作 1.先確定來自哪一張表 from emp 2. 篩選條件where id >= 3 and id ebfc176bf7fb0f2325144cb2ba2b531f= 3 and id 8c5d28f958e9b9bceafbc2aa9ea1995e= 3 and id 607a740fe7f4ba60def79d2aa8149a4e6; select * from emp where id not between 3 and 6;6.查詢薪資不在20000,18000,17000範圍的資料
select * from emp where salary not in (20000,17000,18000);7.查詢職位描述為空的員工名稱與職位名稱
針對null判斷的時候只能用is 不能用=
select name ,post from emp where post_comment is null;MySQL對大小寫不敏感 平時寫的時候大小寫都可以
1、group by 分組
select * from emp group by post; # 按照部门分组
分組後應該做到最小單位是組,而不應該是展示組內的單一資料資訊
向上面那樣他會直接給你印出來而沒有給你報錯說明你的嚴格模沒有設定
show variables '%mode%'; # 找到严格模式所在的地方set session # 临时有效 set global # 永久有效set global sql_mode= 'strict_trans_tables' # 设置字符类型的自动截取set global sql_mode="strict_trans_tables,pad_char_to_full_length" #char 取出时 取消自动去空格set global sql_mode='strict_trans_tables,only_full_group_by' # 设置分组后 最小单位是组
此时你如果还使用 select name from emp group by post; 就会报错 #ERROR 1055 (42000): 'day37.emp.name' isn't in GROUP BYselest 后应该接的是 你分组的字段名
2、聚合函數(max, min ,sum,count, avg) 聚集到一起合成為一個結果
mysql中分組之後只能拿到無法直接取得其他欄位的資訊但是你可以透過其他方法來間接的取得(聚合函數)取得每個部門
的最高工資需求是每個部門說明有分組所以先分組在使用聚合函數來取值
select post ,max(salary) from emp group by post;每個部門的最低工資
select post,min(salary) emp group by post; select post,min(salary) as '最小' from emp group by post;
每個部門的平均工資
select post,avg(salary) from emp group by post;每個部門的工資總和
select post,sum(salary) from emp group by post;每個部門的人數
select post,count(age) from emp group by post; select post,count(salary) from emp group by post; select post,count(id) from emp group by post; select post,count(post_comment) from emp group by post;在統計分組內個數的時候填寫
任一非空白欄位都可以完成計數
,建議使用能夠唯一識別資料的欄位 例如id欄位# 聚合函數會自動將每一個分組內的單一資料做想要的計算,無需你考慮
3、group_concat查詢分組之後的部門名稱和每個部門下select post, group_concat(name) from emp group by post;
select post,group_concat('hahha',name) from emp group by post;
還可以拼接
group_concat()能够拿到分组后每一个数据指定字段(可以是多个)对应的值
group_concat(分组之后用)
concat(不分组时用)
查询每个员工的年薪
select name,salary*12 from emp;
相关免费学习推荐:php编程(视频)
以上是如何查詢mysql語句的詳細內容。更多資訊請關注PHP中文網其他相關文章!