千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 為什么mysql having的條件表達式可以直接使用select后的別名?

為什么mysql having的條件表達式可以直接使用select后的別名?

來源:千鋒教育
發布人:xqq
時間: 2023-10-13 08:02:25 1697155345

一、為什么mysql having的條件表達式可以直接使用select后的別名

SQL語句的語法順序:

FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> DISTINCT -> UNION -> ORDER BY

因此一般不能在having condition中使用select list中的alias。但是mysql對此作了擴展。

在mysql 5.7.5之前的版本,ONLY_FULL_GROUP_BY sql mode默認不開啟。在5.7.5或之后的版本默認開啟。

如果ONLY_FULL_GROUP_BY sql mode不開啟,那么mysql對標準SQL的擴展可以生效:

1、允許在select list、having condition和order by list中使用沒有出現在group by list中的字段。

此時mysql會隨機選擇沒有出現在group by list中的字段的值。效果和使用ANY_VALUE()是相同的。

2、允許在having condition中使用select list中的alias


延伸閱讀:

二、在數據庫中存儲圖像的常用方法

在數據庫中存儲圖像的常用方法是在存儲數據之前將圖像轉換為base64數據。這個過程將增加 33% 的大小。或者,可以將圖像直接存儲為?BLOB;例如:

$image = new Imagick(“image.jpg”);

$data = $image->getImageBlob();

$data = $mysqli->real_escape_string($data);

$mysqli->query(“INSERT INTO images (data) VALUES (‘$data’)”);

然后用

顯示圖片

使用后一種方法,我們節省了 1/3 的存儲空間。為什么在 MySQL 數據庫中將圖像存儲為?base64?更常見?

關于將圖像存儲在數據庫中的優缺點有很多爭論,大多數人認為這不是一種實用的方法。無論如何,在這里我假設我們將圖像存儲在數據庫中,并討論這樣做的優異方法。

聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
久久亚洲中文字幕精品一区四,亚洲日本另类欧美一区二区,久久久久久久这里只有免费费精品,高清国产激情视频在线观看
亚洲四色在线影院 | 亚洲永久精品在线看 | 亚洲欧美精品综合一区 | 亚洲一区二区人妖 | 日本一高清二区视频久而久二 | 亚洲v天堂国产v |