Advertisement
trongnv

re_sql

May 26th, 2020
1,183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.99 KB | None | 0 0
  1. //================================
  2.  
  3. -- 1:
  4.  
  5. SELECT MADATPHONG, MADV, SOLUONG
  6. FROM [LAYLOIHOI_DB].[dbo].[CHI_TIET_SU_DUNG_DV]
  7. WHERE SOLUONG BETWEEN 4 AND 9
  8.  
  9. -- 2:
  10.  
  11. UPDATE [LAYLOIHOI_DB].[dbo].[PHONG]
  12. SET GIAPHONG = GIAPHONG + 10
  13. WHERE SOKHACHTOIDA > 10
  14.  
  15. -- 3:
  16.  
  17. DELETE
  18. FROM [LAYLOIHOI_DB].[dbo].[DAT_PHONG]
  19. WHERE TRANGTHAIDAT = 'DA HUY'
  20.  
  21. -- 4:
  22.  
  23. SELECT TENKH
  24. FROM [LAYLOIHOI_DB].[dbo].[KHACH_HANG]
  25. WHERE TENKH LIKE '[HNM]%' AND LEN(TENKH) <= 20
  26.  
  27. -- 5:
  28.  
  29. SELECT DISTINCT TENKH
  30. FROM [LAYLOIHOI_DB].[dbo].[KHACH_HANG]
  31.  
  32. SELECT TENKH
  33. FROM [LAYLOIHOI_DB].[dbo].[KHACH_HANG]
  34. GROUP BY TENKH
  35.  
  36. -- 6:
  37.  
  38. SELECT MADV, TENDV, DONVITINH, DONGIA
  39. FROM [DICH_VU_DI_KEM]
  40. WHERE ( DONVITINH LIKE 'lon' AND DONGIA > 10 ) OR ( DONVITINH LIKE 'CAI' AND DONGIA < 5)
  41.  
  42. -- 7: // Sử dụng JOIN kết nối các bảng và dùng hàm hỗ trợ của SQL
  43.  
  44. SELECT dp.MADATPHONG, dp.MAPHONG, p.LOAIPHONG, p.SOKHACHTOIDA, p.GIAPHONG, kh.MAKH, kh.TENKH, kh.SODT, dp.NGAYDAT, dp.GIOBATDAU, dp.GIOKETTHUC, dv.MADV, ct.SOLUONG, dv.DONGIA
  45. FROM [LAYLOIHOI_DB].[dbo].[DAT_PHONG] dp
  46. JOIN khach_hang kh
  47. ON dp.MAKH = kh.MAKH
  48. JOIN [LAYLOIHOI_DB].[dbo].[PHONG] p
  49. ON dp.MAPHONG = p.MAPHONG
  50. JOIN [LAYLOIHOI_DB].[dbo].[CHI_TIET_SU_DUNG_DV] ct
  51. ON dp.MADATPHONG = ct.MADATPHONG
  52. JOIN [LAYLOIHOI_DB].[dbo].[DICH_VU_DI_KEM] dv
  53. ON ct.MADV = dv.MADV
  54. WHERE (YEAR(NGAYDAT) = 2016 OR YEAR(NGAYDAT) = 2018) AND P.GIAPHONG > 50
  55.  
  56. -- 8: // dùng hàm TIMEDIFF(time_end, time_start ) để tính chính xác thời gian và lấy ra Giờ phút giây của nó bằng hàm DATEPART()
  57. -- tiếp đó tính tổng số giây. Nó cho giá phòng trong 1 giờ thì phải đổi ra 1 giây bao nhiêu tiền,
  58. --Tổng tiền phòng bằng tổng giây * tiền phòng 1.
  59.  
  60. SELECT dp.MADATPHONG, p.MAPHONG, p.LOAIPHONG, p.GIAPHONG, kh.TENKH, dp.NGAYDAT, p.GIAPHONG * (GIOKETTHUC - GIOBATDAU)  AS TONGTIENHAT, SUM(ct.SOLUONG * dv.DONGIA) AS TONGTIENSUDUNGDV, ( p.GIAPHONG * (GIOKETTHUC - GIOBATDAU) + SUM(CT.SOLUONG * dv.DONGIA ))
  61. FROM [LAYLOIHOI_DB].[dbo].[DAT_PHONG] dp
  62. JOIN [LAYLOIHOI_DB].[dbo].[KHACH_HANG] kh
  63. ON dp.MAKH = kh.MAKH
  64. JOIN [LAYLOIHOI_DB].[dbo].[PHONG] p
  65. ON dp.MAPHONG = p.MAPHONG
  66. JOIN [LAYLOIHOI_DB].[dbo].[CHI_TIET_SU_DUNG_DV] ct
  67. ON dp.MADATPHONG = ct.MADATPHONG
  68. JOIN [LAYLOIHOI_DB].[dbo].[DICH_VU_DI_KEM] dv
  69. ON ct.MADV = dv.MADV
  70. GROUP BY dp.MADATPHONG
  71.  
  72. -- 9: //  có thể dùng IN hoặc EXIST khuyến khích dùng EXISTS vì SQL SERVER sẽ đưa ra kết quả nhanh hơn
  73.  
  74. SELECT kh.MAKH, kh.TENKH, kh.DIACHI, kh.SODT
  75. FROM [LAYLOIHOI_DB].[dbo].[KHACH_HANG] kh
  76. WHERE kh.DIACHI = 'HOA XUAN' AND EXISTS (
  77.     SELECT *
  78.     FROM [LAYLOIHOI_DB].[dbo].[DAT_PHONG] dp
  79.     WHERE kh.MAKH = dp.MAKH )
  80.  
  81. -- 10:
  82.  
  83. SELECT p.MAPHONG,p.LOAIPHONG,p.SOKHACHTOIDA,p.GIAPHONG, COUNT(dp.MAPHONG) AS SOLUONGDAT
  84. FROM [LAYLOIHOI_DB].[dbo].[PHONG] p
  85. JOIN [LAYLOIHOI_DB].[dbo].[DAT_PHONG] dp
  86. ON p.MAPHONG = dp.MAPHONG
  87. WHERE dp.TRANGTHAIDAT = 'DA DAT'
  88. GROUP BY p.MAPHONG
  89. HAVING COUNT(dp.MAPHONG) > 2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement