SQL 之相關語法及操作符

来源:http://www.cnblogs.com/Liyuting/archive/2017/05/12/6847558.html
-Advertisement-
Play Games

概述:UNION、SELECT INTO、INSERT INTO SELECT、SQL 約束。 UNION操作符 UNION 操作符用於合併兩個或多個 SELECT 語句的結果集。 請註意,UNION 內部的每個 SELECT 語句必須擁有相同數量的列。列也必須擁有相似的數據類型。同時,每個 SEL ...


概述:UNION、SELECT INTO、INSERT INTO SELECT、SQL 約束。

 

UNION操作符

UNION 操作符用於合併兩個或多個 SELECT 語句的結果集。

請註意,UNION 內部的每個 SELECT 語句必須擁有相同數量的列。列也必須擁有相似的數據類型。同時,每個 SELECT 語句中的列的順序必須相同。

預設地,UNION 操作符選取不同的值。如果允許重覆的值,請使用 UNION ALL。

語法:

SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
--UNION 結果集中的列名總是等於 UNION 中第一個 SELECT 語句中的列名。

 

SELECT INTO 語句

通過 SQL,您可以從一個表複製信息到另一個表。

SELECT INTO 語句從一個表複製數據,然後把數據插入到另一個新表中。

語法:

--新表將會使用 SELECT 語句中定義的列名稱和類型進行創建。您可以使用 AS 子句來應用新名稱。
SELECT * INTO newtable  FROM table1  --我們可以複製所有的列插入到新表中

SELECT column1,column2  INTO newtable FROM table1  --或者只複製希望的列插入到新表中

SELECT Websites.name, access_log.count, access_log.date  INTO WebsitesBackup2016  FROM Websites  LEFT JOIN access_log  ON Websites.id=access_log.site_id  --複製多個表中的數據插入到新表中

SELECT *  INTO newtable FROM table1 WHERE 1=0  --SELECT INTO 語句可用於通過另一種模式創建一個新的空表。只需要添加促使查詢沒有數據返回的 WHERE 子句即可

 

INSERT INTO SELECT 語句

通過 SQL,您可以從一個表複製信息到另一個表。

INSERT INTO SELECT 語句從一個表複製數據,然後把數據插入到一個已存在的表中。

語法:

INSERT INTO table2 SELECT * FROM table1  --我們可以從一個表中複製所有的列插入到另一個已存在的表中

INSERT INTO Websites (name, country)  SELECT app_name, country FROM apps  --或者我們可以只複製希望的列插入到另一個已存在的表中

 

SQL  約束

SQL 約束用於規定表中的數據規則。

如果存在違反約束的數據行為,行為會被約束終止。

約束可以在創建表時規定(通過 CREATE TABLE 語句),或者在表創建之後規定(通過 ALTER TABLE 語句)。

在 SQL 中,我們有如下約束:

  • NOT NULL - 指示某列不能存儲 NULL 值。
  • UNIQUE - 保證某列的每行必須有唯一的值。
  • PRIMARY KEY - NOT NULL 和 UNIQUE 的結合。確保某列(或兩個列多個列的結合)有唯一標識,有助於更容易更快速地找到表中的一個特定的記錄。
  • FOREIGN KEY - 保證一個表中的數據匹配另一個表中的值的參照完整性。
  • CHECK - 保證列中的值符合指定的條件。
  • DEFAULT - 規定沒有給列賦值時的預設值。

 

 

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • viewpager+fragment仿微信底部TAG完美漸變,在圖片漸變的同時字的顏色也在變,註意,是漸變哦! 效果圖: activity_main.xml MainActivity.java ChangeColorIconWithTextView.java github:https://githu ...
  • 按字面瞭解,Window Leaked大概就是說一個窗體泄漏了,也就是我們常說的記憶體泄漏,為什麼窗體會泄漏呢?產生原因: 我們知道Android的每一個Activity都有個WindowManager窗體管理器,同樣,構建在某個Activity之上的對話框、PopupWindow也有相應的Windo ...
  • 最近寫的文章都是創業類,好吧,今天好好寫寫技術類的文章!畢竟這幾天在速成IOS,看的是object-c,由於速成的很快,好累!好在現在基本已經入了點門道了,這才看的懂新人的代碼,才能提前感受代碼危機。對於IOS的速成口訣,回頭再分享,今天先分享一個簡單的抽象封裝! ...
  • json介紹 JSON(JavaScript Object Notation, JS 對象標記) 是一種輕量級的數據交換格式。它基於 ECMAScript 規範的一個子集,採用完全獨立於編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成為理想的數據交換語言。 易於人閱讀和編寫 ...
  • 1.new project -> Scrolling Activity 2.Layout xml code activity_scrolling.xml content_scrolling.xml 3.Activity code ...
  • 前面章節中的例子,用來作為單個節點的伺服器示例是足夠的,但是如果想要把它應用到生產環境,就遠遠不夠了。在Kafka中有很多參數可以控制它的運行和工作。大部分的選項都可以忽略直接使用預設值就好,遇到一些特殊的情況你可以再考慮使用它們。 本文翻譯自《Kafka權威指南》 Broker的一般配置 有很多參 ...
  • 這隻是一個簡單的排名例子,但可以從簡單的例子發現一些事物的某種共性,由此可以明白它可以應用於相識而不同的各種應用案例中。 ...
  • Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06 Select CONVERT(varchar(100), GETDA ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...