国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

15個初學者必看的基礎SQL查詢語句

2020-07-25 12:48:26
字體:
來源:轉載
供稿:網友

本文將分享15個初學者必看的基礎SQL查詢語句,都很基礎,但是你不一定都會,所以好好看看吧。

1、創建表和數據插入SQL

我們在開始創建數據表和向表中插入演示數據之前,我想給大家解釋一下實時數據表的設計理念,這樣也許能幫助大家能更好的理解SQL查詢。

在數據庫設計中,有一條非常重要的規則就是要正確建立主鍵和外鍵的關系。

現在我們來創建幾個餐廳訂單管理的數據表,一共用到3張數據表,Item Master表、Order Master表和Order Detail表。

創建表:

創建Item Master表:

CREATE TABLE [dbo].[ItemMasters]( [Item_Code] [varchar](20) NOT NULL, [Item_Name] [varchar](100) NOT NULL, [Price] Int NOT NULL, [TAX1] Int NOT NULL, [Discount] Int NOT NULL, [Description] [varchar](200) NOT NULL, [IN_DATE] [datetime] NOT NULL, [IN_USR_ID] [varchar](20) NOT NULL, [UP_DATE] [datetime] NOT NULL, [UP_USR_ID] [varchar](20) NOT NULL, CONSTRAINT [PK_ItemMasters] PRIMARY KEY CLUSTERED ( [Item_Code] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

向Item Master表插入數據:

INSERT INTO [ItemMasters] ([Item_Code],[Item_Name],[Price],[TAX1],[Discount],[Description],[IN_DATE]   ,[IN_USR_ID],[UP_DATE],[UP_USR_ID])  VALUES   ('Item001','Coke',55,1,0,'Coke which need to be cold',GETDATE(),'SHANU'   ,GETDATE(),'SHANU')INSERT INTO [ItemMasters] ([Item_Code],[Item_Name],[Price],[TAX1],[Discount],[Description],[IN_DATE]   ,[IN_USR_ID],[UP_DATE],[UP_USR_ID])  VALUES   ('Item002','Coffee',40,0,2,'Coffe Might be Hot or Cold user choice',GETDATE(),'SHANU'   ,GETDATE(),'SHANU')INSERT INTO [ItemMasters] ([Item_Code],[Item_Name],[Price],[TAX1],[Discount],[Description],[IN_DATE]   ,[IN_USR_ID],[UP_DATE],[UP_USR_ID])  VALUES   ('Item003','Chiken Burger',125,2,5,'Spicy',GETDATE(),'SHANU'   ,GETDATE(),'SHANU')INSERT INTO [ItemMasters] ([Item_Code],[Item_Name],[Price],[TAX1],[Discount],[Description],[IN_DATE]   ,[IN_USR_ID],[UP_DATE],[UP_USR_ID])  VALUES   ('Item004','Potato Fry',15,0,0,'No Comments',GETDATE(),'SHANU'   ,GETDATE(),'SHANU')

創建Order Master表:

CREATE TABLE [dbo].[OrderMasters]( [Order_No] [varchar](20) NOT NULL, [Table_ID] [varchar](20) NOT NULL, [Description] [varchar](200) NOT NULL, [IN_DATE] [datetime] NOT NULL, [IN_USR_ID] [varchar](20) NOT NULL, [UP_DATE] [datetime] NOT NULL, [UP_USR_ID] [varchar](20) NOT NULL, CONSTRAINT [PK_OrderMasters] PRIMARY KEY CLUSTERED ( [Order_No] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

向Order Master表插入數據:

INSERT INTO [OrderMasters]   ([Order_No],[Table_ID] ,[Description],[IN_DATE],[IN_USR_ID],[UP_DATE],[UP_USR_ID])  VALUES   ('Ord_001','T1','',GETDATE(),'SHANU' ,GETDATE(),'SHANU')INSERT INTO [OrderMasters]   ([Order_No],[Table_ID] ,[Description],[IN_DATE],[IN_USR_ID],[UP_DATE],[UP_USR_ID])  VALUES   ('Ord_002','T2','',GETDATE(),'Mak' ,GETDATE(),'MAK')INSERT INTO [OrderMasters]   ([Order_No],[Table_ID] ,[Description],[IN_DATE],[IN_USR_ID],[UP_DATE],[UP_USR_ID])  VALUES   ('Ord_003','T3','',GETDATE(),'RAJ' ,GETDATE(),'RAJ')

創建Order Detail表:

CREATE TABLE [dbo].[OrderDetails]( [Order_Detail_No] [varchar](20) NOT NULL, [Order_No] [varchar](20) CONSTRAINT fk_OrderMasters FOREIGN KEY REFERENCES OrderMasters(Order_No), [Item_Code] [varchar](20) CONSTRAINT fk_ItemMasters FOREIGN KEY REFERENCES ItemMasters(Item_Code), [Notes] [varchar](200) NOT NULL, [QTY] INT NOT NULL, [IN_DATE] [datetime] NOT NULL, [IN_USR_ID] [varchar](20) NOT NULL, [UP_DATE] [datetime] NOT NULL, [UP_USR_ID] [varchar](20) NOT NULL, CONSTRAINT [PK_OrderDetails] PRIMARY KEY CLUSTERED ( [Order_Detail_No] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]--Now let’s insert the 3 items for the above Order No 'Ord_001'.INSERT INTO [OrderDetails]   ([Order_Detail_No],[Order_No],[Item_Code],[Notes],[QTY]   ,[IN_DATE],[IN_USR_ID],[UP_DATE],[UP_USR_ID])  VALUES   ('OR_Dt_001','Ord_001','Item001','Need very Cold',3   ,GETDATE(),'SHANU' ,GETDATE(),'SHANU')INSERT INTO [OrderDetails]   ([Order_Detail_No],[Order_No],[Item_Code],[Notes],[QTY]   ,[IN_DATE],[IN_USR_ID],[UP_DATE],[UP_USR_ID])  VALUES   ('OR_Dt_002','Ord_001','Item004','very Hot ',2   ,GETDATE(),'SHANU' ,GETDATE(),'SHANU')INSERT INTO [OrderDetails]   ([Order_Detail_No],[Order_No],[Item_Code],[Notes],[QTY]   ,[IN_DATE],[IN_USR_ID],[UP_DATE],[UP_USR_ID])  VALUES   ('OR_Dt_003','Ord_001','Item003','Very Spicy',4   ,GETDATE(),'SHANU' ,GETDATE(),'SHANU')

向Order Detail表插入數據:

INSERT INTO [OrderDetails]   ([Order_Detail_No],[Order_No],[Item_Code],[Notes],[QTY]   ,[IN_DATE],[IN_USR_ID],[UP_DATE],[UP_USR_ID])  VALUES   ('OR_Dt_004','Ord_002','Item002','Need very Hot',2   ,GETDATE(),'SHANU' ,GETDATE(),'SHANU')INSERT INTO [OrderDetails]   ([Order_Detail_No],[Order_No],[Item_Code],[Notes],[QTY]   ,[IN_DATE],[IN_USR_ID],[UP_DATE],[UP_USR_ID])  VALUES   ('OR_Dt_005','Ord_002','Item003','very Hot ',2   ,GETDATE(),'SHANU' ,GETDATE(),'SHANU')INSERT INTO [OrderDetails]   ([Order_Detail_No],[Order_No],[Item_Code],[Notes],[QTY]   ,[IN_DATE],[IN_USR_ID],[UP_DATE],[UP_USR_ID])  VALUES   ('OR_Dt_006','Ord_003','Item003','Very Spicy',4   ,GETDATE(),'SHANU' ,GETDATE(),'SHANU')

2、簡單的Select查詢語句

Select查詢語句是SQL中最基本也是最重要的DML語句之一。那么什么是DML?DML全稱Data Manipulation Language(數據操縱語言命令),它可以使用戶能夠查詢數據庫以及操作已有數據庫中的數據。

下面我們在SQL Server中用select語句來查詢我的姓名(Name):

SELECT 'My Name Is SYED SHANU'-- With Column Name using 'AS'SELECT 'My Name Is SYED SHANU' as 'MY NAME'-- With more then the one Column SELECT 'My Name' as 'Column1', 'Is' as 'Column2', 'SYED SHANU' as 'Column3'

在數據表中使用select查詢:

-- To Display all the columns from the table we use * operator in select Statement.Select * from ItemMasters-- If we need to select only few fields from a table we can use the Column Name in Select Statement.Select Item_Code ,Item_name as Item ,Price ,Description ,In_DATE FROM ItemMasters

3、合計和標量函數

合計函數和標量函數都是SQL Server的內置函數,我們可以在select查詢語句中使用它們,比如Count(), Max(), Sum(), Upper(), lower(), Round()等等。下面我們用SQL代碼來解釋這些函數的用法:

select * from ItemMasters-- Aggregate-- COUNT() -> returns the Total no of records from table , AVG() returns the Average Value from Colum,MAX() Returns MaX Value from Column-- ,MIN() returns Min Value from Column,SUM() sum of total from ColumnSelect Count(*) TotalRows,AVG(Price) AVGPrice ,MAX(Price) MAXPrice,MIN(Price) MinPrice,Sum(price) PriceTotal  FROM ItemMasters-- Scalar -- UCASE() -> Convert to Upper Case ,LCASE() -> Convert to Lower Case,-- SUBSTRING() ->Display selected char from column ->SUBSTRING(ColumnName,StartIndex,LenthofChartoDisplay)--,LEN() -> lenth of column date,-- ROUND() -> Which will round the valueSELECT UPPER(Item_NAME) Uppers,LOWER(Item_NAME) Lowers, SUBSTRING(Item_NAME,2,3) MidValue,LEN(Item_NAME) Lenths  ,SUBSTRING(Item_NAME,2,LEN(Item_NAME)) MidValuewithLenFunction,   ROUND(Price,0) as Rounded FROM ItemMasters

4、日期函數

在我們的項目數據表中基本都會使用到日期列,因此日期函數在項目中扮演著非常重要的角色。有時候我們對日期函數要非常的小心,它隨時可以給你帶來巨大的麻煩。在項目中,我們要選擇合適的日期函數和日期格式,下面是一些SQL日期函數的例子:

-- GETDATE() -> to Display the Current Date and Time-- Format() -> used to display our date in our requested formatSelect GETDATE() CurrentDateTime, FORMAT(GETDATE(),'yyyy-MM-dd') AS DateFormats, FORMAT(GETDATE(),'HH-mm-ss')TimeFormats, CONVERT(VARCHAR(10),GETDATE(),10) Converts1, CONVERT(VARCHAR(24),GETDATE(),113), CONVERT(NVARCHAR, getdate(), 106) Converts2 ,-- here we used Convert Function  REPLACE(convert(NVARCHAR, getdate(), 106), ' ', '/') Formats-- Here we used replace and --convert functions. --first we convert the date to nvarchar and then we replace the '' with '/' select * from ItemmastersSelect ITEM_NAME,IN_DATE CurrentDateTime, FORMAT(IN_DATE,'yyyy-MM-dd') AS DateFormats, FORMAT(IN_DATE,'HH-mm-ss')TimeFormats, CONVERT(VARCHAR(10),IN_DATE,10) Converts1, CONVERT(VARCHAR(24),IN_DATE,113), convert(NVARCHAR, IN_DATE, 106) Converts2 ,-- here we used Convert Function  REPLACE(convert(NVARCHAR,IN_DATE, 106), ' ', '/') Formats FROM Itemmasters

DatePart

主站蜘蛛池模板: 库伦旗| 南昌县| 兴和县| 杭锦后旗| 洛宁县| 夏河县| 永州市| 土默特左旗| 喜德县| 凤台县| 桓台县| 澄迈县| 临湘市| 涞水县| 昭通市| 夏河县| 辽宁省| 宁南县| 金沙县| 军事| 华安县| 迁西县| 焦作市| 城固县| 银川市| 吉木乃县| 白银市| 巴林左旗| 定日县| 合阳县| 班玛县| 周口市| 彰武县| 芷江| 晋州市| 舒城县| 汉川市| 招远市| 阿拉善左旗| 曲松县| 汽车|